Bagikan melalui


Menggunakan File Data dan Format File

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Program penyalinan massal paling sederhana melakukan hal berikut:

  1. Memanggil bcp_init untuk menentukan penyalinan massal (atur BCP_OUT) dari tabel atau tampilan ke file data.

  2. Memanggil bcp_exec untuk menjalankan operasi penyalinan massal.

File data dibuat dalam mode asli; oleh karena itu, data dari semua kolom dalam tabel atau tampilan disimpan dalam file data dalam format yang sama seperti dalam database. File kemudian dapat disalin secara massal ke server dengan menggunakan langkah-langkah yang sama ini dan mengatur DB_IN alih-alih DB_OUT. Ini hanya berfungsi jika tabel sumber dan target memiliki struktur yang sama persis. File data yang dihasilkan juga dapat dimasukkan ke utilitas bcp dengan menggunakan sakelar /n (mode asli).

Untuk menyalin secara massal kumpulan hasil pernyataan Transact-SQL alih-alih langsung dari tabel atau tampilan:

  1. Panggil bcp_init untuk menentukan penyalinan massal, tetapi tentukan NULL untuk nama tabel.

  2. Panggil bcp_control dengan eOption diatur ke BCPHINTS dan iValue diatur ke pointer ke string SQLTCHAR yang berisi pernyataan Transact-SQL.

  3. Panggil bcp_exec untuk menjalankan operasi penyalinan massal.

Pernyataan Transact-SQL dapat berupa pernyataan apa pun yang menghasilkan tataan hasil. File data dibuat berisi kumpulan hasil pertama dari pernyataan Transact-SQL. Salinan massal mengabaikan hasil apa pun yang ditetapkan setelah yang pertama jika pernyataan Transact-SQL menghasilkan beberapa tataan hasil.

Untuk membuat file data tempat data kolom disimpan dalam format yang berbeda dari dalam tabel, panggil bcp_columns untuk menentukan berapa banyak kolom yang akan diubah, lalu panggil bcp_colfmt untuk setiap kolom yang formatnya ingin Anda ubah. Ini dilakukan setelah memanggil bcp_init tetapi sebelum memanggil bcp_exec. bcp_colfmt menentukan format tempat data kolom disimpan dalam file data. Ini dapat digunakan ketika menyalin secara massal masuk atau keluar. Anda juga dapat menggunakan bcp_colfmt untuk mengatur terminator baris dan kolom. Misalnya, jika data Anda tidak berisi karakter tab, Anda dapat membuat file yang dibatasi tab dengan menggunakan bcp_colfmt untuk mengatur karakter tab sebagai terminator untuk setiap kolom.

Saat menyalin secara massal dan menggunakan bcp_colfmt, Anda dapat dengan mudah membuat file format yang menjelaskan file data yang telah Anda buat dengan memanggil bcp_writefmt setelah panggilan terakhir ke bcp_colfmt.

Saat menyalin secara massal dari file data yang dijelaskan oleh file format, baca file format dengan memanggil bcp_readfmt setelah bcp_init tetapi sebelum bcp_exec.

Fungsi bcp_control mengontrol beberapa opsi saat menyalin secara massal ke SQL Server dari file data. bcp_control mengatur opsi, seperti jumlah maksimum kesalahan sebelum penghentian, baris dalam file untuk memulai salinan massal, baris yang akan dihentikan, dan ukuran batch.

Lihat Juga

Melakukan Operasi Salin Massal (ODBC)