Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analytics Platform Sistemi (PDW)
Bilgilerin bir Microsoft SQL Server yüklemesinden diğerine kopyalanması gerektiğinde Unicode yerel biçimi yararlı olur. Özel olmayan veriler için yerel biçimin kullanılması zaman kazandırır ve veri türlerinin karakter biçimine ve karakter biçiminden gereksiz şekilde dönüştürülmesi ortadan kaldırır. Tüm karakter verileri için Unicode karakter biçiminin kullanılması, farklı kod sayfaları kullanılarak sunucular arasında verilerin toplu aktarımı sırasında genişletilmiş karakterlerin kaybını önler. Unicode yerel biçimindeki bir veri dosyası herhangi bir toplu içeri aktarma yöntemi tarafından okunabilir.
Genişletilmiş veya DBCS karakterleri içeren bir veri dosyası kullanılarak SQL Server'ın birden çok örneği arasında verilerin toplu aktarımı için Unicode yerel biçimi önerilir. Unicode yerel biçimi, özel olmayan veriler için yerel (veritabanı) veri türlerini kullanır. karakter, nchar, varchar, nvarchar, metin, varchar(max), nvarchar(max)ve ntextgibi karakter verileri için Unicode yerel biçimi Unicode karakter veri biçimini kullanır.
Unicode yerel biçimli bir veri dosyasında SQLVARIANT olarak depolanan sql_variant verileri, yerel biçimli bir veri dosyasında olduğu gibi çalışır, ancak char ve varchar değerleri nchar ve nvarcharolarak dönüştürülür, bu da etkilenen sütunlar için gereken depolama miktarını iki katına çıkarır. Özgün meta veriler korunur ve değerler bir tablo sütununa toplu olarak aktarıldığında, char ve varchar veri türlerine geri dönüştürülür.
Unicode yerel biçimi için komut seçenekleri
Bcp, BULK INSERT veya OPENROWSET BULK kullanarak Unicode yerel biçim verilerini tabloya aktarabilirsiniz.
- Bcp komutu veya BULK INSERT deyimi için veri biçimini belirtebilirsiniz.
- OPENROWSET BULK deyimi için, veri biçimini bir biçim dosyasında belirtmeniz gerekir.
Unicode yerel biçimi aşağıdaki komut seçenekleriyle desteklenir:
| Komut | Seçenek | Açıklama |
|---|---|---|
bcp |
-N |
bcp Yardımcı programının, tüm karakter olmayan veriler için yerel (veritabanı) veri türlerini ve tüm karakter (karakter, nchar, varchar, nvarchar, metin ve ntext) veriler için Unicode karakter veri biçimini kullanan Unicode yerel biçimini kullanmasına neden olur. |
BULK INSERT |
DATAFILETYPE ='widenative' |
Verileri toplu içeri aktarırken Unicode yerel biçimini kullanır. |
OPENROWSET |
YOK | Biçim dosyası kullanmalıdır |
Not
Alternatif olarak, biçim dosyasında alan başına biçimlendirme belirtebilirsiniz. Daha fazla bilgi için bkz. Verileri içeri veya dışarı aktarmak için dosyaları biçimlendirme (SQL Server).
Örnek test koşulları
Bu konudaki örnekler örnek tablo myWidenative ve biçim dosyasını myWidenative.fmttemel alır. Yerel dosya yollarını sisteminizdeki yerel bir dosya yolu ile değiştirin.
Örnek tablo
Aşağıdaki betik bir test veritabanı ve myWidenative adlı bir tablo oluşturur ve tabloyu bazı başlangıç değerleriyle doldurur. Aşağıdaki Transact-SQL'i yürütür:
CREATE DATABASE TestDatabase;
GO
USE TestDatabase;
CREATE TABLE dbo.myWidenative (
PersonID smallint NOT NULL,
FirstName nvarchar(25) NOT NULL,
LastName nvarchar(30) NOT NULL,
BirthDate date,
AnnualSalary money
);
-- Populate table
INSERT TestDatabase.dbo.myWidenative
VALUES (1, N'ϴAnthony', N'Grosse', '02-23-1980', 65000.00),
(2, N'❤Alica', N'Fatnowna', '11-14-1963', 45000.00),
(3, N'☎Stella', N'Rossenhain', '03-02-1992', 120000.00);
-- Review Data
SELECT * FROM TestDatabase.dbo.myWidenative;
ÖRNEK XML olmayan biçim dosyası
SQL Server iki tür biçim dosyasını destekler: XML dışı biçim ve XML biçimi. XML olmayan biçim, SQL Server'ın önceki sürümleri tarafından desteklenen özgün biçimdir. Ayrıntılı bilgi için xml olmayan biçim dosyalarını (SQL Server) kullanma bölümünü gözden geçirin. Aşağıdaki komut, şemasına göre myWidenative.fmtxml olmayan bir biçim dosyası oluşturmak için myWidenative kullanır.
- Biçim dosyası oluşturmak için bcp komutu kullanmak için
formatbağımsız değişkenini belirtin ve veri dosyası yolu yerinenulkullanın. - Biçim seçeneği de bu seçeneği gerektirir
-f. -
ckarakter verilerini belirtmek için kullanılır -
Ttümleşik güvenlik kullanarak güvenilir bir bağlantı belirtmek için kullanılır.
Komut isteminde aşağıdaki komutları girin:
bcp TestDatabase.dbo.myWidenative format nul -f D:\BCP\myWidenative.fmt -T -N
REM Review file
Notepad D:\BCP\myWidenative.fmt
Önemli
XML olmayan biçimli dosyanızın satır başı\satır beslemesiyle sona erdiğinden emin olun. Aksi takdirde büyük olasılıkla aşağıdaki hata iletisini alırsınız:
SQLState = S1000, NativeError = 0
Error = [Microsoft][ODBC Driver 13 for SQL Server]I/O error while reading BCP format file
Örnekler
Aşağıdaki örneklerde veritabanı kullanılır ve yukarıda oluşturulan dosyalar biçimlendirilir.
Verileri dışarı aktarmak için bcp ve Unicode yerel biçimini kullanma
-N Anahtar ve OUT komutu.
Bu örnekte oluşturulan veri dosyası sonraki tüm örneklerde kullanılacaktır.
Komut isteminde aşağıdaki komutları girin:
bcp TestDatabase.dbo.myWidenative OUT D:\BCP\myWidenative.bcp -T -N
REM Review results
NOTEPAD D:\BCP\myWidenative.bcp
Biçim dosyası olmadan verileri içeri aktarmak için bcp ve Unicode yerel biçimini kullanma
-N Anahtar ve IN komutu.
Komut isteminde aşağıdaki komutları girin:
REM Truncate table (for testing)
SQLCMD -Q "TRUNCATE TABLE TestDatabase.dbo.myWidenative;"
REM Import data
bcp TestDatabase.dbo.myWidenative IN D:\BCP\myWidenative.bcp -T -N
REM Review results is SSMS
XML olmayan bir biçim dosyasıyla veri içeri aktarmak için bcp ve Unicode yerel biçimini kullanın.
-N ve -f anahtarları ve IN komutu.
Komut isteminde aşağıdaki komutları girin:
REM Truncate table (for testing)
SQLCMD -Q "TRUNCATE TABLE TestDatabase.dbo.myWidenative;"
REM Import data
bcp TestDatabase.dbo.myWidenative IN D:\BCP\myWidenative.bcp -f D:\BCP\myWidenative.fmt -T -N
REM Review results is SSMS
Toplu INSERT ve Unicode yerel biçimini biçim dosyası olmadan kullanma
DATAFILETYPE argümanı.
Microsoft SQL Server Management Studio'da (SSMS) aşağıdaki Transact-SQL yürütün:
TRUNCATE TABLE TestDatabase.dbo.myWidenative; -- for testing
BULK INSERT TestDatabase.dbo.myWidenative
FROM 'D:\BCP\myWidenative.bcp'
WITH (DATAFILETYPE = 'widenative' );
-- review results
SELECT * FROM TestDatabase.dbo.myWidenative;
XML olmayan bir biçim dosyasıyla BULK INSERT ve Unicode yerel biçimi kullanma
FORMATFILE argümanı.
Microsoft SQL Server Management Studio'da (SSMS) aşağıdaki Transact-SQL yürütün:
TRUNCATE TABLE TestDatabase.dbo.myWidenative; -- for testing
BULK INSERT TestDatabase.dbo.myWidenative
FROM 'D:\BCP\myWidenative.bcp'
WITH ( FORMATFILE = 'D:\BCP\myWidenative.fmt' );
-- review results
SELECT * FROM TestDatabase.dbo.myWidenative;
OPENROWSET ve Unicode yerel biçimini XML olmayan bir biçim dosyasıyla kullanma
FORMATFILE argümanı.
Microsoft SQL Server Management Studio'da (SSMS) aşağıdaki Transact-SQL yürütün:
TRUNCATE TABLE TestDatabase.dbo.myWidenative; -- for testing
INSERT INTO TestDatabase.dbo.myWidenative
SELECT * FROM OPENROWSET (
BULK 'D:\BCP\myWidenative.bcp',
FORMATFILE = 'D:\BCP\myWidenative.fmt'
) AS t1;
-- review results
SELECT * FROM TestDatabase.dbo.myWidenative;
İlgili görevler
Toplu içeri veya toplu dışarı aktarma için veri biçimlerini kullanmak için:
- SQL Server'ın önceki sürümlerinden yerel ve karakter biçimi verilerini içeri aktarma
- Verileri içeri veya dışarı aktarmak için karakter biçimini kullanma (SQL Server)
- Verileri içeri veya dışarı aktarmak için yerel biçimi kullanma (SQL Server)
- Verileri içeri veya dışarı aktarmak için Unicode karakter biçimini kullanma (SQL Server)