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)
Bu makalede, belirli bir tablo için biçim dosyası oluşturmak üzere bcp yardımcı programı nasıl kullanılacağı açıklanmaktadır. Biçim dosyası, belirtilen veri türü seçeneğine (-n, -c, -wveya -N) ve tablo veya görünüm sınırlayıcılarına dayanır.
SQL Server tablosuna toplu içeri aktardığınızda veya bir tablodan verileri toplu olarak dışarı aktardığınızda, veri dosyaları yazmak için esnek bir sistem olarak bir biçim dosyası kullanabilirsiniz. Biçim dosyaları, diğer veri biçimlerine uymak veya diğer yazılım programlarından veri dosyalarını okumak için çok az düzenleme gerektirir veya hiç düzenleme gerektirmez.
Sınırlama
Bir format dosyasını okumak için kullanılan aracın (bcp.exe) sürümübcp, format dosyasını oluşturmak için kullanılan versiyonla aynı veya daha sonra olmalıdır. Örneğin, SQL Server 2025 (17.x) bcp SQL Server 2022 (16.x) bcptarafından oluşturulan 16.0 sürüm formatı dosyasını okuyabilir, ancak SQL Server 2022 (16.x) bcp SQL Server 2025 (17.x) bcptarafından oluşturulan 17.0 sürüm dosyasını okuyamıyor.
Not
Toplu ekleme de dahil olmak üzere bu söz dizimi Azure Synapse Analytics'te desteklenmez. Azure Synapse Analytics ve diğer bulut veritabanı platformu tümleştirmelerinde, Azure Data Factory 'de COPY deyiminiveya COPY INTO ve PolyBase gibiT-SQL deyimlerini kullanarak veri taşımayı gerçekleştirin.
Biçim dosyaları oluşturma
SQL Server, iki tür format dosyasını destekler: XML olmayan format ve XML formatı. XML olmayan biçim, SQL Server'ın önceki sürümleri tarafından desteklenen özgün biçimdir.
Genellikle, XML ve XML olmayan biçim dosyaları değiştirilebilir. Ancak, XML olmayan biçim dosyalarına göre çeşitli avantajlar sağladığından, biçim dosyaları için XML söz dizimi kullanmanızı öneririz.
Bu makaledeki kod örnekleri, AdventureWorks2025 giriş sayfasından indirebileceğiniz AdventureWorksDW2025 veya örnek veritabanını kullanır. Adventure Works Cycles, veritabanı kavramlarını ve senaryolarını göstermek için kullanılan kurgusal bir üretim şirketidir.
Bir format dosyası oluştur
format kullanarak bir biçim dosyası oluşturmak için bcp bağımsız değişkenini belirtin ve veri dosyası yolu yerine nul kullanın.
format seçeneği her zaman -f seçeneğini gerektirir.
- XML biçim dosyası
- XML biçiminde olmayan dosya
Bir XML biçim dosyası oluşturmak için -x seçeneğini belirtmelisiniz; örneğin, bcp <table_or_view> format nul -f <format_file_name> -x.
Bir XML format dosyasını ayırt etmek için, .xml örneğin dosya adını uzantı olarak kullanın. MyTable.xml
XML format dosyalarının yapısı ve alanları hakkında bilgi için bkz. XML format dosyaları.
Örnekler
Bu bölüm, format dosyası oluşturmak için nasıl kullanılacağını bcp gösteren örnekler içerir.
HumanResources.Department tablosu dört sütun içerir: DepartmentID, Name, GroupNameve ModifiedDate.
A. Karakter verileri için bir format dosyası oluşturun
Aşağıdaki örnek, karakter veri formatlarını kullanarak tablo için bir format dosyası HumanResources.Department oluşturur.
- XML biçim dosyası
- XML biçiminde olmayan dosya
Bir XML formatı dosyası oluşturun.Department-c.xml Format dosyası, varsayılan olmayan bir alan sonlandırıcısı (,). kullanır. Aşağıdaki bölüm, oluşturulan format dosyasının içeriğini gösterir.
Komut bcp aşağıdaki elemeleri içerir.
| Elemeleri | Açıklama |
|---|---|
format nul -x -f <format_file> |
XML biçim dosyasını belirtir. |
-c |
Karakter verilerini belirtir. |
-t, |
Alan sonlandırıcısı olarak virgül (,) belirtir.Not: Veri dosyası varsayılan alan sonlandırıcısını ( \t) kullanıyorsa, -t anahtarı gereksizdir. |
-T |
SQL Server'a entegre güvenlik kullanarak güvenilir bir bağlantıyla bağlandığını belirtirbcp.
-T belirtmezseniz, başarıyla oturum açmak için -U ve -P belirtmeniz gerekir. |
Windows komut isteminde aşağıdaki bcp komutunu girin:
bcp AdventureWorks2025.HumanResources.Department format nul -c -x -f Department-c.xml -t, -T
oluşturulan biçim dosyası Department-c.xmlaşağıdaki XML öğelerini içerir:
<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RECORD>
<FIELD ID="1" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="7"/>
<FIELD ID="2" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="3" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="4" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="24"/>
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="DepartmentID" xsi:type="SQLSMALLINT"/>
<COLUMN SOURCE="2" NAME="Name" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="3" NAME="GroupName" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="4" NAME="ModifiedDate" xsi:type="SQLDATETIME"/>
</ROW>
</BCPFORMAT>
Bu format dosyasının sözdizimi hakkında bilgi için XML format dosyalarına bakınız. Karakter verileri hakkında bilgi için bkz. Veri içe aktarmak veya dışa aktarmak için karakter formatını kullan.
B. Yerel veri için bir format dosyası oluşturun
Aşağıdaki örnek, yerel veri tiplerini kullanarak tablo için bir format dosyası HumanResources.Department oluşturur.
- XML biçim dosyası
- XML biçiminde olmayan dosya
Bir XML formatı dosyası oluşturun.Department-n.xml Aşağıdaki bölüm, oluşturulan format dosyasının içeriğini gösterir.
Komut bcp aşağıdaki elemeleri içerir.
| Elemeleri | Açıklama |
|---|---|
format nul -x -f <format_file> |
XML biçim dosyasını belirtir. |
-n |
Yerel veri türlerini belirtir. |
-T |
SQL Server'a entegre güvenlik kullanarak güvenilir bir bağlantıyla bağlandığını belirtirbcp.
-T belirtmezseniz, başarıyla oturum açmak için -U ve -P belirtmeniz gerekir. |
Windows komut isteminde aşağıdaki bcp komutunu girin:
bcp AdventureWorks2025.HumanResources.Department format nul -x -f Department-n.xml -n -T
oluşturulan biçim dosyası Department-n.xmlaşağıdaki XML öğelerini içerir:
<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RECORD>
<FIELD ID="1" xsi:type="NativeFixed" LENGTH="2"/>
<FIELD ID="2" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="3" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="4" xsi:type="NativeFixed" LENGTH="8"/>
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="DepartmentID" xsi:type="SQLSMALLINT"/>
<COLUMN SOURCE="2" NAME="Name" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="3" NAME="GroupName" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="4" NAME="ModifiedDate" xsi:type="SQLDATETIME"/>
</ROW>
</BCPFORMAT>
Bu format dosyasının sözdizimi hakkında bilgi için XML format dosyalarına bakınız. Yerel veri kullanımı hakkında bilgi için bkz. Veri içe aktarmak veya dışa aktarmak için yerel format kullan.
C. Unicode yerel verileri için XML olmayan bir biçim dosyası oluşturma
HumanResources.Department tablosunun Unicode yerel verileri için XML olmayan bir biçim dosyası oluşturmak için aşağıdaki komutu kullanın:
bcp AdventureWorks2025.HumanResources.Department format nul -T -N -f Department-n.fmt
Unicode yerel verilerinin nasıl kullanılacağı hakkında daha fazla bilgi için Verileri İçe Aktarmak veya Dışa Aktarmak İçin Unicode Yerel Formatı Kullanın'a bakınız.
D. Unicode karakter verileri için XML olmayan bir biçim dosyası oluşturma
Varsayılan sonlandırıcıları kullanan HumanResources.Department tablosunun Unicode karakter verileri için XML olmayan bir biçim dosyası oluşturmak için aşağıdaki komutu kullanın:
bcp AdventureWorks2025.HumanResources.Department format nul -T -w -f Department-w.fmt
Unicode karakter verilerinin nasıl kullanılacağı hakkında daha fazla bilgi için bkz. Veri içe aktarmak veya dışa aktarmak için Unicode karakter formatını kullan.
E. Kod sayfası seçeneğiyle biçim dosyası kullanma
bcp format kullanarak bir biçim dosyası oluşturduğunuzda, biçim dosyasına harmanlama ve kod sayfası bilgilerini yazar.
Aşağıdaki örnek biçim dosyası, beş sütunlu bir tablo için harmanlamayı içerir.
13.0
5
1 SQLCHAR 0 0 "\t" 1 c_0 Cyrillic_General_CS_AS
2 SQLCHAR 0 0 "\t" 2 c_1 Cyrillic_General_CS_AS
3 SQLCHAR 0 3000 "\t" 3 c_2 Cyrillic_General_CS_AS
4 SQLCHAR 0 5 "\t" 4 c_3 ""
5 SQLCHAR 0 41 "!!!\r\r\n" 5 c_4 ""
Verileri SQL Server'a aktarmaya çalışırsanız, bcp in -c -C65001 -f format_file ...BULK INSERTOPENROWSETFORMATFILE='format_file' CODEPAGE=65001 ...format dosyasındaki derleme veya kod sayfası bilgisi 65001 seçeneğinden önceliklidir.
Bu nedenle, bir format dosyası oluşturursanız, verileri SQL Server'a aktarmaya başlamadan önce oluşturulan format dosyasından toplama bilgilerini manuel olarak silmeniz gerekir.
Aşağıdaki örnek, derleme bilgisi olmadan format dosyasını gösterir.
13.0
5
1 SQLCHAR 0 0 "\t" 1 c_0 ""
2 SQLCHAR 0 0 "\t" 2 c_1 ""
3 SQLCHAR 0 3000 "\t" 3 c_2 ""
4 SQLCHAR 0 5 "\t" 4 c_3 ""
5 SQLCHAR 0 41 "!!!\r\r\n" 5 c_4 ""
Veri alanlarını tablo sütunlarına eşleme
Oluşturulan bir format dosyası, bcp tüm tablo sütunlarını sırayla tanımlar. Bir format dosyasını tablo sütunlarını yeniden düzenlemek veya çıkarmak için değiştirebilirsiniz. Biçim dosyasını, alanları doğrudan tablo sütunlarıyla eşleşmeyen bir veri dosyasıyla özelleştirebilirsiniz. Daha fazla bilgi için aşağıdaki makalelere bakın:
- Bir tablo sütununu atlamak için format dosyası kullanın
- Bir veri alanını atlamak için bir format dosyası kullanın
- Tablo sütunlarını veri dosyası alanlarına eşlemek için bir format dosyası kullanın