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)
Kimlik değerleri içeren veri dosyaları bir Microsoft SQL Server örneğine toplu olarak içeri aktarılabilir.
Varsayılan olarak, içeri aktarılan veri dosyasındaki kimlik sütununun değerleri yoksayılır ve SQL Server benzersiz değerleri otomatik olarak atar. Benzersiz değerler, tablo oluşturma sırasında belirtilen tohum ve artım değerlerini temel alır.
Veri dosyası tablodaki tanımlayıcı sütunu için değerler içermiyorsa, verileri içeri aktarırken tablodaki tanımlayıcı sütununun atlanması gerektiğini belirtmek için bir biçim dosyası kullanın. Ek bilgi için Bir Tablo Sütununu Atlamak için Biçim Dosyası Kullanma (SQL Server) konusuna bakın.
Kimlik değerlerini koruma
SQL Server'ın veri satırlarını tabloya toplu içeri aktarırken kimlik değerleri atamasını önlemek için uygun keep-identity komut niteleyicisini kullanın. Bir keep-identity niteleyicisi belirttiğinizde, SQL Server veri dosyasındaki kimlik değerlerini kullanır.
Bu niteleyiciler aşağıdaki gibidir:
| Komut | Kimlik niteleyicisini koru | Niteleyici türü |
|---|---|---|
bcp |
-E |
Şalter |
BULK INSERT |
KEEPIDENTITY |
Tartışma |
INSERT ... SELECT * FROM OPENROWSET(BULK...) |
KEEPIDENTITY | Tablo yönergesi |
Daha fazla bilgi için bkz. bcp Yardımcı Programı, BULK INSERT (Transact-SQL), OPENROWSET BULK (Transact-SQL), INSERT (Transact-SQL), SELECT (Transact-SQL) ve Tablo ipuçları (Transact-SQL).
Not
Birden çok tabloda kullanılabilecek veya herhangi bir tabloya başvurmadan uygulamalardan çağrılabilen otomatik olarak artan bir sayı oluşturmak için bkz. sıra numaraları.
Örnek Test Koşulları
Bu konudaki örnekler aşağıda tanımlanan tablo, veri dosyası ve biçim dosyasını temel alır.
Örnek Tablo
Aşağıdaki betik bir test veritabanı ve myIdentityadlı bir tablo oluşturur. Microsoft SQL Server Management Studio'da (SSMS) aşağıdaki Transact-SQL yürütün:
CREATE DATABASE TestDatabase;
GO
USE TestDatabase;
CREATE TABLE dbo.myIdentity (
PersonID smallint IDENTITY(1,1) NOT NULL,
FirstName varchar(25) NOT NULL,
LastName varchar(30) NOT NULL,
BirthDate date
);
Örnek Veri Dosyası
Not Defteri'ni kullanarak boş bir dosya D:\BCP\myIdentity.bcp oluşturun ve aşağıdaki verileri ekleyin.
3,Anthony,Grosse,1980-02-23
2,Alica,Fatnowna,1963-11-14
1,Stella,Rosenhain,1992-03-02
4,Miller,Dylan,1954-01-05
Alternatif olarak, veri dosyasını oluşturmak ve doldurmak için aşağıdaki PowerShell betiğini yürütebilirsiniz:
cls
# revise directory as desired
$dir = 'D:\BCP\';
$bcpFile = $dir + 'myIdentity.bcp';
# Confirm directory exists
IF ((Test-Path -Path $dir) -eq 0)
{
Write-Host "The path $dir does not exist; please create or modify the directory.";
RETURN;
};
# clear content, will error if file does not exist, can be ignored
Clear-Content -Path $bcpFile -ErrorAction SilentlyContinue;
# Add data
Add-Content -Path $bcpFile -Value '3,Anthony,Grosse,1980-02-23';
Add-Content -Path $bcpFile -Value '2,Alica,Fatnowna,1963-11-14';
Add-Content -Path $bcpFile -Value '1,Stella,Rosenhain,1992-03-02';
Add-Content -Path $bcpFile -Value '4,Miller,Dylan,1954-01-05';
#Review content
Get-Content -Path $bcpFile;
Invoke-Item $bcpFile;
Ö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. Daha fazla bilgi için bkz. XML dışı biçimli dosyaları kullanma (SQL Server).
Aşağıdaki komut, şemasına göre myIdentity.fmtxml olmayan bir biçim dosyası oluşturmak için myIdentity 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 -
t,bir alan sonlandırıcı olarak virgül belirtmek için kullanılır -
Ttümleşik güvenlik kullanarak güvenilir bir bağlantı belirtmek için kullanılır.
Komut istemine aşağıdaki komutu girin:
bcp TestDatabase.dbo.myIdentity format nul -c -f D:\BCP\myIdentity.fmt -t, -T
REM Review file
Notepad D:\BCP\myIdentity.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
Örneklerde bu makalede oluşturulan veritabanı, veri dosyası ve biçim dosyaları kullanılır.
bcp kullanma ve Kimlik Değerlerini bir biçim dosyası olmadan tutma
Düğme -E .
Komut istemine aşağıdaki komutu girin:
REM Truncate table (for testing)
SQLCMD -Q "TRUNCATE TABLE TestDatabase.dbo.myIdentity;"
REM Import data
bcp TestDatabase.dbo.myIdentity IN D:\BCP\myIdentity.bcp -T -c -t, -E
REM Review results
SQLCMD -Q "SELECT * FROM TestDatabase.dbo.myIdentity;"
BCP kullanma ve Kimlik değerlerini XML olmayan bir biçim dosyasıyla tutma
-E ve -f anahtarlar.
Komut istemine aşağıdaki komutu girin:
REM Truncate table (for testing)
SQLCMD -Q "TRUNCATE TABLE TestDatabase.dbo.myIdentity;"
REM Import data
bcp TestDatabase.dbo.myIdentity IN D:\BCP\myIdentity.bcp -f D:\BCP\myIdentity.fmt -T -E
REM Review results
SQLCMD -Q "SELECT * FROM TestDatabase.dbo.myIdentity;"
Bcp ve oluşturulan Kimlik değerlerini biçim dosyası olmadan kullanma
Varsayılanları kullanma.
Komut istemine aşağıdaki komutu girin:
REM Truncate table (for testing)
SQLCMD -Q "TRUNCATE TABLE TestDatabase.dbo.myIdentity;"
REM Import data
bcp TestDatabase.dbo.myIdentity IN D:\BCP\myIdentity.bcp -T -c -t,
REM Review results
SQLCMD -Q "SELECT * FROM TestDatabase.dbo.myIdentity;"
BCP ve oluşturulan Kimlik Değerlerini XML olmayan bir biçim dosyasıyla kullanma
Varsayılanları ve -f anahtarı/değiştirici kullanın.
Komut istemine aşağıdaki komutu girin:
REM Truncate table (for testing)
SQLCMD -Q "TRUNCATE TABLE TestDatabase.dbo.myIdentity;"
REM Import data
bcp TestDatabase.dbo.myIdentity IN D:\BCP\myIdentity.bcp -f D:\BCP\myIdentity.fmt -T
REM Review results
SQLCMD -Q "SELECT * FROM TestDatabase.dbo.myIdentity;"
BULK INSERT kullanma ve Kimlik değerlerini biçim dosyası olmadan tutma
KEEPIDENTITY argümanı.
Microsoft SQL Server Management Studio'da (SSMS) aşağıdaki Transact-SQL yürütün:
USE TestDatabase;
GO
TRUNCATE TABLE dbo.myIdentity; -- for testing
BULK INSERT dbo.myIdentity
FROM 'D:\BCP\myIdentity.bcp'
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = ',',
KEEPIDENTITY
);
-- review results
SELECT * FROM TestDatabase.dbo.myIdentity;
BULK INSERT kullanma ve Kimlik değerlerini XML biçiminde olmayan bir dosyayla tutma
KEEPIDENTITY ve FORMATFILE argümanları.
Microsoft SQL Server Management Studio'da (SSMS) aşağıdaki Transact-SQL yürütün:
USE TestDatabase;
GO
TRUNCATE TABLE dbo.myIdentity; -- for testing
BULK INSERT dbo.myIdentity
FROM 'D:\BCP\myIdentity.bcp'
WITH (
FORMATFILE = 'D:\BCP\myIdentity.fmt',
KEEPIDENTITY
);
-- review results
SELECT * FROM TestDatabase.dbo.myIdentity;
BULK INSERT ve biçim dosyası olmadan oluşturulan kimlik değerlerini kullanın
Varsayılanları kullanma.
Microsoft SQL Server Management Studio'da (SSMS) aşağıdaki Transact-SQL yürütün:
USE TestDatabase;
GO
TRUNCATE TABLE dbo.myIdentity; -- for testing
BULK INSERT dbo.myIdentity
FROM 'D:\BCP\myIdentity.bcp'
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = ','
);
-- review results
SELECT * FROM TestDatabase.dbo.myIdentity;
BULK INSERT ve oluşturulmuş Kimlik değerlerini XML dışı bir biçim dosyasıyla kullanın.
Varsayılanları ve FORMATFILE bağımsız değişkeni kullanma.
Microsoft SQL Server Management Studio'da (SSMS) aşağıdaki Transact-SQL yürütün:
USE TestDatabase;
GO
TRUNCATE TABLE dbo.myIdentity; -- for testing
BULK INSERT dbo.myIdentity
FROM 'D:\BCP\myIdentity.bcp'
WITH (
FORMATFILE = 'D:\BCP\myIdentity.fmt'
);
-- review results
SELECT * FROM TestDatabase.dbo.myIdentity;
OPENROWSET BULK kullanma ve Kimlik değerlerini XML olmayan bir biçim dosyasıyla tutma
KEEPIDENTITY Tablo ipucu ve FORMATFILE bağımsız değişkeni.
Microsoft SQL Server Management Studio'da (SSMS) aşağıdaki Transact-SQL yürütün:
USE TestDatabase;
GO
TRUNCATE TABLE dbo.myIdentity; -- for testing
INSERT INTO dbo.myIdentity
WITH (KEEPIDENTITY)
(PersonID, FirstName, LastName, BirthDate)
SELECT *
FROM OPENROWSET (
BULK 'D:\BCP\myIdentity.bcp',
FORMATFILE = 'D:\BCP\myIdentity.fmt'
) AS t1;
-- review results
SELECT * FROM TestDatabase.dbo.myIdentity;
OPENROWSET BULK ve oluşturulan Kimlik değerlerini XML olmayan bir biçim dosyasıyla kullanma
Varsayılanları ve FORMATFILE bağımsız değişkeni kullanma.
Microsoft SQL Server Management Studio'da (SSMS) aşağıdaki Transact-SQL yürütün:
USE TestDatabase;
GO
TRUNCATE TABLE dbo.myIdentity; -- for testing
INSERT INTO dbo.myIdentity
(FirstName, LastName, BirthDate)
SELECT FirstName, LastName, BirthDate
FROM OPENROWSET (
BULK 'D:\BCP\myIdentity.bcp',
FORMATFILE = 'D:\BCP\myIdentity.fmt'
) AS t1;
-- review results
SELECT * FROM TestDatabase.dbo.myIdentity;
İlgili Görevler
Bir biçim dosyası kullanmak için
bcp (SQL Server) ile biçim dosyası oluşturma
Verileri toplu içeri aktarmak için biçim dosyası kullanma (SQL Server)
Tablo sütunlarını veri dosyası alanlarına (SQL Server) eşlemek için biçim dosyası kullanma
Bir veri alanını atlamak için biçim dosyası kullanma (SQL Server)
Bir Tablo Sütununu Atlamak için Biçim Dosyası Kullanma (SQL Server)
Toplu içe aktarma veya dışa aktarma için veri biçimlerini kullanma
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)
Verileri İçeri veya Dışarı Aktarmak için Unicode Yerel Biçimi Kullanma (SQL Server)
bcp kullanırken uyumluluk için veri biçimlerini belirtmek için