Unicode karakter biçimi kullanarak Al veya veri ver
Unicode character format is recommended for bulk transfer of data between multiple instances of Microsoft SQL Server by using a data file that contains extended/DBCS characters.Unicode karakter veri biçimi, işlemi gerçekleştiren istemci tarafından kullanılan kod sayfasından farklı bir kod sayfa'nı kullanarak bir sunucudan verilecek veriler sağlar.Bu gibi durumlarda, Unicode karakter biçimi kullanımı aşağıdaki avantajları vardır:
Kaynak ve hedef veri Unicode veri türlerini, Unicode karakter biçimi kullanımını tüm karakter verileri korur.
Kaynak ve hedef veri Unicode veri türlerini yoksa, Unicode karakter biçimi, kaynak veride hedefte temsil dile özgü karakterler kaybı en aza indirir yararlanabilirsiniz.
Unicode karakter biçiminde veri dosyası Unicode dosyaları için kuralları izleyin.Dosyanın ilk iki baytlık onaltılık, 0xFFFE sayılardır.Bu baytları DSA'da bayt ilk depolanan olup olmadığını belirleme, bayt sırası işareti olarak veya dosyayı en son hizmet.
Important Note: |
---|
Tüm giriş alanları, bir Unicode karakter veri dosyası ile çalışmak bir biçim dosyası için Unicode metin dizeleri (yani, sabit boyutlu veya karakter sonlandırıldı Unicode dize) olmalıdır. |
The sql_variant data that is stored in a Unicode character-format data file operates in the same way it operates in a character-format data file, except that the data is stored as nchar instead of char data.Karakter biçimi hakkında daha fazla bilgi için bkz: Karakter biçimi kullanarak Al veya veri ver.
Unicode karakter biçimi ile sağlanan varsayılan dışında bir alan veya satır Sonlandırıcı kullanmak için , bkz: Alan ve satır sonlandırıcılar belirtme.
Unicode karakter biçimi için komut seçenekleri
Unicode karakter biçiminde veri alabileceğiniz bir tablo kullanma Kullanımıbcp... INSERT ya da Ekle toplu SEÇİN * openrowset(bulk...) GELEN.Için bir Kullanımıbcp komut veya BULK INSERT deyim, komut satırında veri biçimini belirtebilirsiniz.INSERT için...SELECT * FROM OPENROWSET(BULK...) deyim, bir biçim dosyasında veri biçimini belirtin.
Unicode karakter biçimi aşağıdaki komut satırı seçenekleri desteklenmektedir:
Komutu |
Seçenek |
Açıklama |
---|---|---|
Kullanımıbcp |
-w |
Unicode karakter biçimi kullanır. |
TOPLU EKLEME |
DATAFILETYPE ='widechar' |
Unicode karakter bulk, veri içe aktarma biçimi kullanır. |
Daha fazla bilgi için bkz: Kullanımıbcp yardımcı programı, BULK INSERT (Transact-SQL), veya OPENROWSET (Transact-SQL).
Not
Alternatif olarak, her alan ayrı ayrı bir Biçim dosyasında, biçimlendirme belirtebilirsiniz.Daha fazla bilgi için bkz:Biçimi dosyaları, alma veya veri vermek için.
Örnekler
Aşağıdaki örnekler, verme toplu nasıl gösteren Unicode karakter veri kullanma Kullanımıbcp ve toplu alma BULK INSERT kullanarak aynı veri.
Örnek tablo
Örnekler, bir tablo adı gerektirir. myTestUniCharData Tablo oluşturulmasını AdventureWorks Örnek Veritabanı'nın altında dbo Schema. Bu tablo, örnekler çalıştırmadan önce oluşturmanız gerekir.Bu bir tablo oluşturmak için SQL Server Management Studio Sorgu Düzenleyicisi'nde, yürütün:
USE AdventureWorks;
GO
CREATE TABLE myTestUniCharData (
Col1 smallint,
Col2 nvarchar(50),
Col3 nvarchar(50)
);
Bu tablo doldurmak ve elde edilen içeriğini görüntülemek için yürütmek aþaðýdaki:
INSERT INTO myTestUniCharData(Col1,Col2,Col3)
VALUES(1,'DataField2','DataField3');
INSERT INTO myTestUniCharData(Col1,Col2,Col3)
VALUES(2,'DataField2','DataField3');
GO
SELECT Col1,Col2,Col3 FROM myTestUniCharData
toplu vermek Unicode karakter veri Kullanımıbcp kullanma
Kendisinden veri vermek tablo veri dosyası Kullanımıbcp with the Çıkış seçeneği ve aşağıdaki niteleyicileri:
Niteleyicileri |
Açıklama |
---|---|
-w |
Unicode karakter biçimi belirtir. |
-t, |
Bir virgül (belirtir.,) olarak alan ayırıcısı.
Note:
Varsayılan alan ayırıcısı sekmeyi (\t) Unicode karakter var.Daha fazla bilgi için bkz:Alan ve satır sonlandırıcılar belirtme.
|
-T |
Belirleyen Kullanımıbcp için yardımcı programı bağlanırSQL Server tümleşik güvenlik kullanarak güvenilir bağlantı ile. If -T belirtilmezse, belirtmek gerekir-U and -P in. başarıyla oturum açmak için |
Aşağıdaki örnek toplu Unicode karakter biçiminde veri aktarır myTestUniCharData tabloya adlı yeni bir veri dosyası myTestUniCharData-w.Dat veri dosyası, virgül (kullanır.,) olarak alan ayırıcısı. AT Microsoft Windows komut istemi girin:
bcp AdventureWorks..myTestUniCharData out C:\myTestUniCharData-w.Dat -w -t, -T
Toplu almayı Unicode karakter veri için BULK INSERT kullanma
Aşağıdaki örnek kullanır. BULK INSERT verileri almak için myTestUniCharData-w.Dat uygulamasına veri dosyası myTestUniCharData TABLO. Varsayılan alan ayırıcısı (,) deyimde bildirilmelidir. Içinde SQL Server Management Studio Sorgu Düzenleyicisi'nde, yürütün:
USE AdventureWorks;
GO
BULK INSERT myTestUniCharData
FROM 'C:\myTestUniCharData-w.Dat'
WITH (
DATAFILETYPE='widechar',
FIELDTERMINATOR=','
);
GO
SELECT Col1,Col2,Col3 FROM myTestUniCharData;
GO