Share via


Yerel biçim aldığınızda veya veri (SQL Server) kullanmak

Yerel biçim çoklu örnekleri arasında veri aktarımı toplu önerilir Microsoft  SQL Serverherhangi bir genişletilmiş/çift baytlı karakter içermeyen veri dosyası kullanarak kümesi (dbcs) karakterlerinin.

[!NOT]

Toplu çoklu örnekleri arasında veri aktarımı için SQL ServerGenişletilmiş içeren bir veri dosyası veya dbcs karakterlerini kullanarak Unicode yerel biçim kullanmalısınız. Daha fazla bilgi için, bkz. Unicode yerel biçim aldığınızda veya veri (SQL Server) kullanmak.

Yerel biçim, veritabanı yerel veri türlerini korur. Özgün biçiminde veri arasında yüksek hızda veri aktarımı için tasarlanmıştır SQL Servertabloları. Biçim dosyasını kullanıyorsanız, kaynak ve hedef tabloları aynı olması gerekmez. Veri aktarımı iki adımdan oluşur:

  1. Toplu veri kaynak tablodan bir veri dosyasına verme

  2. Hedef tabloya veri dosyasından veri alma toplu

Gereksiz dönüştürme veri türleri karakter biçimi, zaman ve mekan tasarrufu gelen ve benzer tablolar arasında özgün biçimde kullanımını önler. Optimum aktarım hızı elde etmek için ancak birkaç denetimleri veri biçimlendirme ile ilgili gerçekleştirilir. Yüklenen veriler ile sorunları önlemek için aşağıdaki kısıtlamaları listesine bakın.

Kısıtlamalar

Özgün biçiminde veri başarıyla almak için emin olun:

  • Özgün biçiminde veri dosyasıdır.

  • Hedef tablo (doğru sayıda sütun, veri türü, uzunluk, null durumu ve benzeri olan) veri dosyasıyla uyumlu olmalı ya da her alanda kendi karşılık gelen sütunları eşleştirmek için bir biçim dosyası kullanmanız gerekir.

    [!NOT]

    Hedef tabloyla eşleşmeyen bir dosya veri alma işleminin başarılı olabilir ancak hedef tabloya eklenen veri değerleri yanlış olması muhtemeldir. Bunun nedeni, dosya verilerini hedef tablo biçimini kullanarak yorumlanır. Bu nedenle, herhangi bir uyuşmazlık sonuçları yanlış değerleri ekleme. Ancak, hiçbir koşulda veritabanında mantıksal veya fiziksel tutarsızlıkları böyle bir uyumsuzluk neden olabilir.

    Biçim dosyaları kullanma hakkında daha fazla bilgi için bkz: Biçimi dosyaları (SQL Server) veri verme veya alma için.

Başarılı bir alma hedef tablo bozuk değil.

Nasıl bcp özgün biçiminde veri işleme

Bu bölümde nasıl için dikkat edilmesi gereken noktalar açıklanmıştır bcp verir ve özgün biçiminde veri alır.

  • Noncharacter veri

    Bcp yardımcı programı kullanan SQL Serveriç ikili veri biçimi noncharacter verileri bir tablodan veri dosyasına yazmak için.

  • charor varchar data

    Her birinin başında charveya varcharalan, bcp önek uzunluğunu ekler.

    Önemli notÖnemli

    Yerel mod kullanıldığında, varsayılan olarak, bcp yarar dönüştürür karakterlerinden SQL Serverönce bunları bir veri dosyasına kopyalar oem karakter. Bcp yarar dönüştürür karakter veri dosyasından ANSI karakterlere bu toplu bunları içine alır önce bir SQL Servertablosu. Bu dönüşüm sırasında genişletilmiş karakter veri kaybolabilir. Genişletilmiş karakterler için Unicode yerel biçim kullanabilir veya bir kod sayfasını belirtin. Kod sayfası kullanma hakkında daha fazla bilgi için bkz: Copying Data Between Different Collations.

  • sql_variantveri

    Eğer sql_variantveriler SQLVARIANT yerel biçim veri dosyası olarak saklanır, verileri tüm özellikleri korur. Her veri değeri veri türünü kaydeden meta veri değeri ile birlikte saklanır. Bu meta veri değeri ile aynı veri türü hedef yeniden oluşturmak için kullanılan sql_variantsütun.

    Hedef sütunun veri türünü değilse sql_variant, her veri değeri örtülü veri dönüştürme normal kurallar aşağıdaki hedef sütunun veri türü dönüştürülür. Geçerli toplu veri dönüştürme sırasında bir hata meydana gelirse geri alınır. Herhangi bir charve varchararasında transfer değerleri sql_variantsütunları kod sayfası dönüştürme sorunları olabilir. Daha fazla bilgi için, bkz. Copying Data Between Different Collations.

    Veri dönüştürme hakkında daha fazla bilgi için bkz: Veri türü dönüştürme (veritabanı altyapısı).

Yerel biçim komut seçenekleri

Yerel biçim bir tablo kullanarak veri alabilirsiniz bcp, bulk INSERT veya Ekle... SEÇİN * OPENROWSET(BULK...) ALINDI. İçin bir bcpkomutunu veya bulk INSERT deyimi, komut satırında veri biçimini belirtebilirsiniz. INSERT için... SEÇİN * openrowset(bulk...) deyimi, bir biçim dosyasında veri biçimini belirtmeniz gerekir.

Yerel biçim aşağıdaki komut satırı seçenekleri tarafından desteklenir:

Komutu

Seçenek

Açıklama

bcp

-n

Neden bcp verileri yerel veri türlerini kullanmak yardımcı programı.1

TOPLU EKLEME

DATAFILETYPE ='yerel'

Verileri yerel veya geniş yerel veri türleri kullanır. Not biçimi dosyası veri türlerini belirtirse DATAFILETYPE gerekli değildir.

1 Yerli yüklemek için (-n) önceki sürümleri ile uyumlu bir biçimde veri SQL Serveristemciler, -Vgeçiş. Daha fazla bilgi için, bkz. SQL Server'ın önceki sürümlerden native ve karakter biçimi veri alma.

Daha fazla bilgi için bkz: BCP yardımcı programı, BULK INSERT (Transact-SQL), ya OPENROWSET (Transact-SQL).

[!NOT]

Alternatif olarak, bir biçim dosyası alan başına temelinde biçimlendirme belirtebilirsiniz. Daha fazla bilgi için, bkz. Biçimi dosyaları (SQL Server) veri verme veya alma için.

Örnekler

Aşağıdaki örnekler, nasıl ihracat yerel veriler kullanılarak göstermektedir bcpve toplu veri bulk INSERT kullanarak aynı alma.

Örnek tablo

Örnek bir tablo ismi gerektirir myTestNativeData tablo oluşturulabilir AdventureWorks örnek veritabanı altında dbo şema. Örnekleri çalıştırmak için önce bu tablo oluşturmanız gerekir. De SQL Server Management Studiosorgu Düzenleyicisi, yürütün:

USE AdventureWorks;
GO
CREATE TABLE myTestNativeData (
   Col1 smallint,
   Col2 nvarchar(50),
   Col3 nvarchar(50)
   ); 

Bu tablo doldurmak ve sonucu görüntülemek için aşağıdaki deyimleri içeriği yürütün:

INSERT INTO myTestNativeData(Col1,Col2,Col3)
   VALUES(1,'DataField2','DataField3');
INSERT INTO myTestNativeData(Col1,Col2,Col3)
   VALUES(2,'DataField2','DataField3');
GO
SELECT Col1,Col2,Col3 FROM myTestNativeData

Yerel veri toplu verme BCP kullanma

Veri tablosundan veri dosyasına dışa aktarmak için kullanmak bcpile outseçeneğini ve aşağıdaki niteleyicileri:

Elemeleri

Açıklama

-n

Yerel veri türlerini belirtir.

-T

Belirleyen bcp yarar bağlandığı SQL ServerGüvenilen bir bağlantı kullanarak tümleşik güvenlik ile. Eğer -Tbelirtilmemişse, belirtmeniz gerekiyor -Uve -Pbaşarıyla oturum inç

Aşağıdaki örnek toplu verileri özgün biçiminde verir myTestNativeDataadlı yeni bir veri dosyası tabloya myTestNativeData-n.Datveri dosyasını. MicrosoftWindows komut isteminde, komut girin:

bcp AdventureWorks..myTestNativeData out C:\myTestNativeData-n.Dat -n -T

Toplu alma yerel veri için bulk INSERT kullanma

Aşağıdaki örnek veri almak için kullandığı bulk INSERT myTestNativeData-n.Datveri dosyası içine myTestNativeDatatablosu. De SQL Server Management Studiosorgu Düzenleyicisi, yürütün:

USE AdventureWorks;
GO
BULK INSERT myTestNativeData 
    FROM 'C:\myTestNativeData-n.Dat' 
   WITH (DATAFILETYPE='native'); 
GO
SELECT Col1,Col2,Col3 FROM myTestNativeData
GO

ilişkili Görevler

Verileri kullanmak için toplu alma veya toplu verme biçimleri

Ayrıca bkz.

Başvuru

BCP yardımcı programı

BULK INSERT (Transact-SQL)

Veri Türleri (Transact-SQL)

sql_variant (Transact-sql)

OPENROWSET (Transact-SQL)

Kavramlar

SQL Server'ın önceki sürümlerden native ve karakter biçimi veri alma

Using sql_variant Data

Unicode yerel biçim aldığınızda veya veri (SQL Server) kullanmak