IBCPSession::BCPControl (OLE DB)

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

Unduh driver OLE DB

Mengatur opsi untuk operasi penyalinan massal.

Sintaks

  
HRESULT BCPControl(   
      int eOption,  
      void *iValue);  

Keterangan

Metode BCPControl menetapkan berbagai parameter kontrol untuk operasi penyalinan massal termasuk jumlah kesalahan yang diizinkan sebelum membatalkan salinan massal, jumlah baris pertama dan terakhir untuk disalin dari file data, dan ukuran batch.

Metode ini juga digunakan untuk menentukan pernyataan SELECT yang akan digunakan saat menyalin data secara massal dari SQL Server. Anda dapat mengatur argumen eOption ke argumen BCP_OPTION_HINTS dan iValue agar memiliki penunjuk ke string karakter lebar yang berisi pernyataan SELECT.

Nilai yang mungkin untuk eOption adalah:

Opsi Deskripsi
BCP_OPTION_ABORT Menghentikan operasi penyalinan massal yang sudah berlangsung. Anda dapat memanggil metode BCPControl dengan argumen eOption BCP_OPTION_ABORT dari utas lain untuk menghentikan operasi penyalinan massal yang sedang berjalan. Argumen iValue diabaikan.
BCP_OPTION_BATCH Jumlah baris per batch. Defaultnya adalah 0, yang menunjukkan semua baris dalam tabel saat data sedang diekstrak, atau semua baris dalam file data pengguna saat data sedang disalin ke SQL Server. Nilai kurang dari 1 mengatur ulang BCP_OPTION_BATCH ke default.
BCP_OPTION_DELAYREADFMT Boolean, jika diatur ke true, akan menyebabkan IBCPSession::BCPReadFmt dibaca saat eksekusi. Jika false (default), IBCPSession::BCPReadFmt akan segera membaca file format. Kesalahan urutan akan terjadi jika BCP_OPTION_DELAYREADFMT benar dan Anda memanggil IBCPSession::BCPColumns atau IBCPSession::BCPColFmt.

Kesalahan urutan juga akan terjadi jika Anda memanggil IBCPSession::BCPControl(BCPDELAYREADFMT, (void *)FALSE)) setelah panggilan IBCPSession::BCPControl(BCPDELAYREADFMT, (void *)TRUE) dan IBCPSession::BCPWriteFmt.

Untuk informasi selengkapnya, lihat Penemuan Metadata.
BCP_OPTION_FILECP Argumen iValue berisi jumlah halaman kode untuk file data. Anda dapat menentukan jumlah halaman kode, seperti 1252 atau 850, atau salah satu nilai berikut:

BCP_FILECP_ACP: data dalam file ada di halaman kode Microsoft Windows klien.

BCP_FILECP_OEMCP: data dalam file ada di halaman kode OEM klien (default).

BCP_FILECP_RAW: data dalam file ada di halaman kode SQL Server.
BCP_OPTION_FILEFMT Nomor versi format file data. Ini bisa 80 (SQL Server 2000 (8,x)), 90 (SQL Server 2005 (9,x)), 100 (SQL Server 2008 (10.0.x) atau SQL Server 2008 R2 (10.50.x)), atau 110 (SQL Server 2012 (11.x)). 110 adalah defaultnya. Ini berguna untuk mengekspor dan mengimpor data dalam format yang didukung oleh versi server sebelumnya. Misalnya, untuk mengimpor data yang diperoleh dari kolom teks di server SQL Server 2000 (8.x) ke dalam kolom varchar(maks) di server SQL Server 2005 (9.x) atau yang lebih baru, Anda harus menentukan 80. Demikian pula, jika Anda menentukan 80 saat mengekspor data dari kolom varchar(maks), itu akan disimpan seperti kolom teks disimpan dalam format SQL Server 2000 (8.x), dan dapat diimpor ke dalam kolom teks server SQL Server 2000 (8.x).
BCP_OPTION_FIRST Baris pertama data file atau tabel yang akan disalin. Defaultnya adalah 1; nilai kurang dari 1 mengatur ulang opsi ini ke defaultnya.
BCP_OPTION_FIRSTEX Untuk operasi keluar BCP, menentukan baris pertama tabel database untuk disalin ke dalam file data.

Untuk BCP dalam operasi, menentukan baris pertama file data yang akan disalin ke dalam tabel database.

Parameter iValue diharapkan menjadi alamat bilangan bulat 64-bit yang ditandatangani yang berisi nilai . Nilai maksimum yang dapat diteruskan ke BCPFIRSTEX 2^63-1.
BCP_OPTION_FMTXML Digunakan untuk menentukan bahwa file format yang dihasilkan harus dalam format XML. Ini nonaktif secara default dan file format disimpan sebagai file teks. File format XML memberikan fleksibilitas yang lebih besar tetapi dengan beberapa batasan tambahan. Misalnya, Anda tidak dapat menentukan awalan dan terminator untuk bidang secara bersamaan, yang dimungkinkan dalam file format yang lebih lama.

Catatan: Sebelum Driver OLE DB 18.6.0, file format XML hanya didukung ketika alat SQL Server diinstal bersama dengan Driver OLE DB untuk SQL Server.
BCP_OPTION_HINTS Argumen iValue berisi penunjuk string karakter lebar. String yang ditangani menentukan petunjuk pemrosesan SQL Server salinan massal atau pernyataan Transact-SQL yang mengembalikan tataan hasil. Jika pernyataan Transact-SQL ditentukan yang mengembalikan lebih dari satu tataan hasil, semua tataan hasil setelah yang pertama diabaikan.
BCP_OPTION_KEEPIDENTITY Saat argumen iValue diatur ke TRUE, opsi ini menentukan bahwa metode salin massal menyisipkan nilai data yang disediakan untuk kolom SQL Server yang ditentukan dengan batasan identitas. File input harus menyediakan nilai untuk kolom identitas. Jika ini tidak diatur, nilai identitas baru dihasilkan untuk baris yang disisipkan. Setiap data yang ada dalam file untuk kolom identitas diabaikan.
BCP_OPTION_KEEPNULLS Menentukan apakah nilai data kosong dalam file akan dikonversi ke nilai NULL dalam tabel SQL Server. Ketika argumen iValue diatur ke TRUE, nilai kosong akan dikonversi ke NULL dalam tabel SQL Server. Defaultnya adalah untuk nilai kosong yang akan dikonversi ke nilai default untuk kolom dalam tabel SQL Server jika default ada.
BCP_OPTION_LAST Baris terakhir yang akan disalin. Defaultnya adalah menyalin semua baris. Nilai kurang dari 1 mengatur ulang opsi ini ke defaultnya.
BCP_OPTION_LASTEX Untuk operasi keluar BCP, menentukan baris terakhir tabel database untuk disalin ke dalam file data.

Untuk BCP dalam operasi, menentukan baris terakhir file data untuk disalin ke dalam tabel database.

Parameter iValue diharapkan menjadi alamat bilangan bulat 64-bit yang ditandatangani yang berisi nilai . Nilai maksimum yang dapat diteruskan ke BCPLASTEX adalah 2^63-1.
BCP_OPTION_MAXERRS Jumlah kesalahan yang diizinkan sebelum operasi penyalinan massal gagal. Nilai defaultnya adalah 10. Nilai kurang dari 1 mengatur ulang opsi ini ke defaultnya. Salinan massal memberlakukan maksimum 65.535 kesalahan. Upaya untuk mengatur opsi ini ke nilai yang lebih besar dari 65.535 menghasilkan opsi yang diatur ke 65.535.
BCP_OPTION_ROWCOUNT Mengembalikan jumlah baris yang terpengaruh oleh operasi BCP saat ini (atau terakhir).
BCP_OPTION_TEXTFILE File data bukan file biner, tetapi merupakan file teks. BCP melakukan deteksi apakah file teks adalah Unicode atau tidak dengan memeriksa penanda byte Unicode dalam 2 byte pertama file data.
BCP_OPTION_UNICODEFILE Ketika diatur ke TRUE, opsi ini menentukan bahwa file input adalah format file Unicode.

Argumen

eOption[in]
Atur ke salah satu opsi yang tercantum di bagian keterangan di atas.

iValue[in]
Nilai untuk eOption yang ditentukan. Argumen iValue adalah nilai bilangan bulat yang dilemparkan ke penunjuk kekosongan untuk memungkinkan ekspansi ke nilai 64 bit di masa mendatang.

Mengembalikan Nilai Kode

S_OK
Metode berhasil.

E_FAIL
Terjadi kesalahan khusus penyedia; untuk informasi terperinci, gunakan antarmuka ISQLServerErrorInfo .

E_UNEXPECTED
Panggilan ke metode tidak terduga. Misalnya, metode IBCPSession::BCPInit tidak dipanggil sebelum memanggil fungsi ini.

E_OUTOFMEMORY
Kesalahan kehabisan memori.

Lihat juga

IBCPSession (OLE DB)
Melakukan Operasi Salin Massal