Unicode karakter biçimi kullanarak aldığınızda veya veri verme
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 bir sunucudan farklı bir işlem yapılmakta olduğundan istemci tarafından kullanılan kod sayfa kod sayfa kullanılarak dışa veri sağlar.Bu gibi durumlarda kullanılması, Unicode karakter biçimi 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, Unicode karakter biçimi genişletilmiş karakterler hedefte temsil kaynak veri kaybını en aza indirir birini kullanın.
Unicode karakter biçiminde veri dosyası Unicode dosyaları için kuralları izleyin.Dosyanın ilk iki baytı onaltılık, 0xFFFE sayılardır.Bu baytları yüksek sıralı bayt ilk kez mi depolandığını belirten bayt sırası işareti olarak veya en son dosya hizmet.
Önemli |
---|
Unicode karakter veri dosyası ile çalışmak bir biçim dosyası için tüm giriş alanları Unicode metin dizeleri (yani, sabit boyutu veya karakter sona Unicode dize) olması gerekir. |
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: Veri alınır veya için karakter biçimi kullanma.
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çimi içine veri alabilirsiniz bir tablo kullanarak bcp, bulk INSERT veya Ekle...SEÇİN * OPENROWSET(BULK...) DAN.İçin bir bcp komutu veya bulk INSERT deyim, komut satırında veri biçimini belirtebilirsiniz.INSERT için...SEÇİN * ndan openrowset(bulk...) deyim belirtmeniz gerekir veri biçiminde bir biçim dosyası.
Unicode karakter biçimi aşağıdaki komut satırı seçenekleri tarafından desteklenir:
Komutu |
Seçenek |
Açıklama |
---|---|---|
BCP |
-w |
Unicode karakter biçimi kullanır. |
BULK INSERT |
DATAFILETYPE ='widechar' |
Toplu olduğunda veri alma Unicode karakter biçimi kullanır. |
Daha fazla bilgi için bkz: bcp Yardımcı Programı, BULK INSERT (Transact-SQL), veya OPENROWSET (Transact-SQL).
Not
Alternatif olarak, bir alanın başına temelinde de biçimlendirme belirtebilirsiniz bir biçim dosyası.Daha fazla bilgi için bkz: Biçimi dosyaları veri verme veya alma için.
Örnekler
toplu vermek konusunda aşağıdaki örnekler göstermektedir Unicode karakter verileri kullanarak bcp ve toplu alma bulk INSERT kullanarak aynı veri için.
Örnek tablo
Örnek bir tablo taşıyan bir iste myTestUniCharData tablo oluşturulmasını AdventureWorks2008R2 örnek veritabanı altında dbo şema.Örnekleri çalıştırmak için önce bu tablo oluşturmanız gerekir.Bu tablo oluşturmak için SQL Server Management Studio yürütmek Query Editor:
USE AdventureWorks2008R2;
GO
CREATE TABLE myTestUniCharData (
Col1 smallint,
Col2 nvarchar(50),
Col3 nvarchar(50)
);
Bu tablo doldurmak ve elde edilen içeriği görüntülemek için yürütmek aþaðýdaki ifadeleri:
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 verme Unicode karakter veri için BCP kullanma
Kendisinden veri vermek tablo kullanmak için veri dosyası, bcp ile dışarı seçeneğini ve aşağıdaki niteleyicileri:
Niteleyiciler |
Açıklama |
---|---|
-w |
Unicode karakter biçimi belirtir. |
-t, |
Virgül belirtir (,) olarak alan ayırıcısı.
Not
Varsayılan değer alan ayırıcısı Unicode karakteri (\t) sekmesi.Daha fazla bilgi için bkz: Alan ve satır sonlandırıcılar belirtme.
|
-T |
Belirleyen bir bcp yardımcı programını bağlanır SQL Server ile bir güvenilir bağlantı kullanarak tümleşik güvenlik.If -T is not specified, you need to specify -U and -P to successfully log in. |
Aşağıdaki örnek toplu Unicode karakter biçiminde veri verir myTestUniCharData tablo adlı yeni bir veri dosyasına myTestUniCharData-w.Dat virgül kullanan veri dosyası (,) olarak alan Sonlandırıcı.En Microsoft Windows komut istemi istemine girin:
bcp AdventureWorks2008R2..myTestUniCharData out C:\myTestUniCharData-w.Dat -w -t, -T
Toplu almayı Unicode karakter veri için bulk INSERT kullanma
Aşağıdaki örnek BULK INSERT verileri almak için myTestUniCharData-w.Dat veri dosyası içine myTestUniCharData tablo.Varsayılan olmayan alan ayırıcısı (,) deyim. bildirilmesi gerekirDe SQL Server Management Studio yürütmek Query Editor:
USE AdventureWorks2008R2;
GO
BULK INSERT myTestUniCharData
FROM 'C:\myTestUniCharData-w.Dat'
WITH (
DATAFILETYPE='widechar',
FIELDTERMINATOR=','
);
GO
SELECT Col1,Col2,Col3 FROM myTestUniCharData;
GO