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 biçim dosyasını okumak için kullanılan bcp yardımcı programının (bcp.exe) sürümü, biçim dosyasını oluşturmak için kullanılan sürümle aynı veya daha sonraki bir sürüm olmalıdır. Örneğin, SQL Server 2016 (13.x) bcp sürüm 12.0 biçim dosyasını okuyabilir, SQL Server 2014 (12.x) bcptarafından oluşturulur, ancak SQL Server 2014 (12.x) bcp, SQL Server 2016 (13.x) bcptarafından oluşturulan sürüm 13.0 biçim dosyasını okuyamaz.
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 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.
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.
- XML biçim dosyası
- XML biçiminde olmayan dosya
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.
XML biçim dosyası oluşturma
Biçim dosyası oluşturmak için bcp komutu kullanmak için format 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 ve XML biçim dosyası oluşturmak için -xgibi bcp <table_or_view> format nul -f <format_file_name> -x seçeneğini de belirtmeniz gerekir.
XML biçimli bir dosyayı ayırt etmek için, dosya adı uzantısı olarak .xml kullanmanızı öneririz; örneğin, MyTable.xml.
XML biçim dosyalarının yapısı ve alanları hakkında bilgi için bkz. XML Biçim Dosyaları (SQL Server).
Örnekler
Bu bölüm, xml biçim dosyası oluşturmak için bcp komutlarının nasıl kullanılacağını gösteren aşağıdaki örnekleri içerir.
HumanResources.Department tablosu dört sütun içerir: DepartmentID, Name, GroupNameve ModifiedDate.
A. Karakter verileri için XML biçim dosyası oluşturma
Aşağıdaki örnek, Department.xml tablosu için HumanResources.Departmentbir XML biçim dosyası oluşturur. Biçim dosyası karakter veri biçimlerini ve varsayılan olmayan bir alan sonlandırıcısını (,) kullanır. Oluşturulan biçim dosyasının içeriği komutundan sonra sunulur.
bcp komutu aşağıdaki niteleyicileri 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 |
bcp yardımcı programının tümleşik güvenlik kullanarak güvenilir bir bağlantıyla SQL Server'a bağlandığını belirtir.
-T belirtilmezse, başarıyla oturum açmak için -U ve -P belirtmeniz gerekir. |
Windows komut isteminde aşağıdaki bcp komutunu girin:
bcp AdventureWorks2022.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 biçim dosyasının söz dizimi hakkında bilgi için bkz. XML Biçim Dosyaları (SQL Server). Karakter verileri hakkında bilgi için bkz. Verileri içeri veya dışarı aktarmak için karakter biçimini kullanma (SQL Server).
B. Yerel veriler için XML biçim dosyası oluşturma
Aşağıdaki örnek, Department-n.xml tablosu için HumanResources.Departmentbir XML biçim dosyası oluşturur. Biçim dosyası yerel veri türlerini kullanır. Oluşturulan biçim dosyasının içeriği komutundan sonra sunulur.
bcp komutu aşağıdaki niteleyicileri içerir.
| Elemeleri | Açıklama |
|---|---|
format nul -x -f <format_file> |
XML biçim dosyasını belirtir. |
-n |
Yerel veri türlerini belirtir. |
-T |
bcp yardımcı programının tümleşik güvenlik kullanarak güvenilir bir bağlantıyla SQL Server'a bağlandığını belirtir.
-T belirtilmezse, başarıyla oturum açmak için -U ve -P belirtmeniz gerekir. |
Windows komut isteminde aşağıdaki bcp komutunu girin:
bcp AdventureWorks2022.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 biçim dosyasının söz dizimi hakkında bilgi için bkz. XML Biçim Dosyaları (SQL Server). Yerel verilerin nasıl kullanılacağı hakkında bilgi için bkz. Verileri içeri veya dışarı aktarmak için yerel biçimi kullanma (SQL Server).
Veri alanlarını tablo sütunlarına eşleme
bcptarafından oluşturulduğu gibi, bir biçim dosyası tüm tablo sütunlarını sırayla açıklar. Tablo satırlarını yeniden düzenlemek veya atlamak için biçim dosyasını 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:
- Tablo sütununu (SQL Server) atlamak için biçim dosyası kullanma
- Bir veri alanını atlamak 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