Menggunakan file format Non-XML (SQL Server)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Di SQL Server, dua jenis file format didukung untuk ekspor dan impor massal: file format non-XML dan file format XML.
Manfaat file format non-XML
Anda dapat membuat file format non-XML secara otomatis dengan menentukan opsi format dalam perintah bcp .
Saat Anda menentukan file format yang ada dalam perintah bcp , perintah menggunakan nilai yang direkam dalam file format dan tidak meminta Anda untuk jenis penyimpanan file, panjang awalan, panjang bidang, atau terminator bidang.
Anda dapat membuat file format untuk jenis data tertentu seperti data karakter atau data asli.
Anda dapat membuat file format non-XML yang berisi atribut yang ditentukan secara interaktif untuk setiap bidang data. Untuk informasi selengkapnya, lihat Menentukan Format Data untuk Kompatibilitas saat Menggunakan bcp (SQL Server).
Catatan
File format XML menawarkan beberapa keuntungan daripada file format non-XML. Untuk informasi selengkapnya, lihat File Format XML (SQL Server).
Catatan
Sintaks ini, termasuk sisipan massal, tidak didukung di Azure Synapse Analytics. Di Azure Synapse Analytics dan integrasi platform database cloud lainnya, selesaikan pergerakan data melalui pernyataan COPY di Azure Data Factory, atau dengan menggunakan pernyataan T-SQL seperti COPY INTO dan PolyBase.
Struktur File Format Non-XML
File format non-XML adalah file teks yang memiliki struktur tertentu. File format non-XML berisi informasi tentang jenis penyimpanan file, panjang awalan, panjang bidang, dan terminator bidang dari setiap kolom tabel.
Ilustrasi berikut mengilustrasikan bidang format-file untuk sampel file format non-XML.
Bidang Versi dan Jumlah kolom hanya terjadi satu kali. Maknanya dijelaskan dalam tabel berikut.
Bidang format-file | Deskripsi |
---|---|
Versi | Nomor versi utilitas bcp : 9.0 = SQL Server 2005 (9.x) 10.0 = SQL Server 2008 (10.0.x) 11.0 = SQL Server 2012 (11.x) 12.0 = SQL Server 2014 (12.x) Nomor versi hanya dikenali oleh bcp, bukan oleh Transact-SQL. Catatan: Versi utilitas bcp (Bcp.exe) yang digunakan untuk membaca file format harus sama dengan, atau versi yang lebih baru dari yang digunakan untuk membuat file format. Misalnya, SQL Server 2012 (11.x)bcp dapat membaca file format versi 10.0, yang dihasilkan oleh SQL Server 2008 (10.0.x)bcp, tetapi SQL Server 2008 (10.0.x)bcp tidak dapat membaca file format versi 12.0, yang dihasilkan oleh SQL Server 2014 (12.x)bcp. |
Jumlah kolom | Jumlah bidang dalam file data. Angka ini harus sama di semua baris. |
Bidang format-file lainnya menjelaskan bidang data yang akan diimpor atau diekspor secara massal. Setiap bidang data memerlukan baris terpisah dalam file format. Setiap baris format-file berisi nilai untuk bidang format-file yang dijelaskan dalam tabel berikut.
Bidang format-file | Deskripsi |
---|---|
Urutan bidang file host | Angka yang menunjukkan posisi setiap bidang dalam file data. Bidang pertama dalam baris adalah 1, dan sebagainya. |
Jenis data file host | Menunjukkan jenis data yang disimpan di bidang tertentu dari file data. Dengan file data ASCII, gunakan SQLCHAR; untuk file data format asli, gunakan jenis data default. Untuk informasi selengkapnya, lihat Menentukan Jenis Penyimpanan File dengan Menggunakan bcp (SQL Server). |
Panjang awalan | Jumlah karakter awalan panjang untuk bidang . Panjang awalan yang valid adalah 0, 1, 2, 4, dan 8. Untuk menghindari menentukan awalan panjang, atur ini ke 0. Awalan panjang harus ditentukan jika bidang berisi nilai data NULL. Untuk informasi selengkapnya, lihat Menentukan Panjang Awalan dalam File Data dengan Menggunakan bcp (SQL Server). |
Panjang data file host | Panjang maksimum, dalam byte, dari jenis data yang disimpan di bidang tertentu dari file data. Jika Anda membuat file format non-XML untuk file teks yang dibatasi, Anda dapat menentukan 0 untuk panjang data file host dari setiap bidang data. Ketika file teks yang dibatasi memiliki panjang awalan 0 dan terminator diimpor, nilai panjang bidang diabaikan, karena ruang penyimpanan yang digunakan oleh bidang sama dengan panjang data ditambah terminator. Untuk informasi selengkapnya, lihat Menentukan Panjang Bidang dengan Menggunakan bcp (SQL Server). |
Terminator | Pemisah untuk memisahkan bidang dalam file data. Terminator umum adalah koma (,), tab (\t), dan akhir baris (\r\n). Untuk informasi selengkapnya, lihat Menentukan Terminator Bidang dan Baris (SQL Server). |
Urutan kolom server | Urutan kolom yang muncul di tabel SQL Server. Misalnya, jika bidang keempat dalam file data dipetakan ke kolom keenam dalam tabel SQL Server, urutan kolom server untuk bidang keempat adalah 6. Untuk mencegah kolom dalam tabel menerima data apa pun dari file data, atur nilai urutan kolom server ke 0 . |
Nama kolom server | Nama kolom yang disalin dari tabel SQL Server. Nama aktual bidang tidak diperlukan, tetapi bidang dalam file format tidak boleh kosong. |
Kolatasi kolom | Kolater yang digunakan untuk menyimpan karakter dan data Unicode dalam file data. |
Catatan
Anda dapat mengubah file format untuk memungkinkan Anda mengimpor secara massal dari file data di mana jumlah atau urutan bidang berbeda dari jumlah atau urutan kolom tabel. Untuk informasi selengkapnya, lihat daftar Tugas Terkait.
Contoh file format non-XML
Contoh berikut menunjukkan file format non-XML yang dibuat sebelumnya (myDepartmentIdentical-f-c.fmt
). File ini menjelaskan bidang data karakter untuk setiap kolom dalam HumanResources.Department
tabel dalam AdventureWorks2022
database sampel.
File format yang dihasilkan, myDepartmentIdentical-f-c.fmt
, berisi informasi berikut:
12.0
4
1 SQLCHAR 0 7 "\t" 1 DepartmentID ""
2 SQLCHAR 0 100 "\t" 2 Name SQL_Latin1_General_CP1_CI_AS
3 SQLCHAR 0 100 "\t" 3 GroupName SQL_Latin1_General_CP1_CI_AS
4 SQLCHAR 0 24 "\r\n" 4 ModifiedDate ""
Catatan
Untuk ilustrasi yang memperlihatkan bidang format-file sehubungan dengan contoh file format non-XML ini, lihat Struktur File Format Non-XML.
Tugas terkait
- Membuat File Format (SQL Server)
- Menggunakan File Format untuk Mengimpor Data Secara Massal (SQL Server)
- Menggunakan File Format untuk Melewati Kolom Tabel (SQL Server)
- Menggunakan File Format untuk Melewati Bidang Data (SQL Server)
- Menggunakan File Format untuk Memetakan Kolom Tabel ke Bidang File Data (SQL Server)