IBCPSession::BCPExec (OLE DB)
Berlaku untuk: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Melakukan operasi penyalinan massal.
Sintaks
HRESULT BCPExec(
DBROWCOUNT *pRowsCopied);
Keterangan
Metode BCPExec menyalin data dari file pengguna ke tabel database atau sebaliknya, tergantung pada nilai parameter eDirection yang digunakan dengan metode IBCPSession::BCPInit .
Sebelum memanggil BCPExec, panggil metode BCPInit dengan nama file pengguna yang valid. Kegagalan untuk melakukannya menghasilkan kesalahan. Satu-satunya pengecualian adalah jika kueri akan digunakan untuk operasi penyalinan massal. Dalam hal ini tentukan NULL untuk nama tabel dalam metode BCPInit lalu tentukan kueri menggunakan opsi BCP_OPTION_HINTS.
Metode BCPExec adalah satu-satunya metode penyalinan massal yang cenderung luar biasa untuk waktu yang lama. Oleh karena itu, ini adalah satu-satunya metode penyalinan massal yang mendukung mode asinkron. Untuk menggunakan mode asinkron, atur properti sesi khusus penyedia SSPROP_ASYNCH_BULKCOPY ke VARIANT_TRUE sebelum memanggil metode BCPExec . Properti ini tersedia dalam kumpulan properti DBPROPSET_SQLSERVERSESSION. Untuk menguji penyelesaian, panggil metode BCPExec dengan parameter yang sama. Jika salinan massal belum selesai, metode BCPExec mengembalikan DB_S_ASYNCHRONOUS. Ini juga mengembalikan dalam argumen pRowsCopied jumlah status jumlah baris yang telah dikirim atau diterima dari server. Baris yang dikirim ke server tidak diterapkan hingga akhir batch tercapai.
Argumen
pRowsCopied[out]
Penunjuk ke DWORD. Metode BCPExec mengisi DWORD dengan jumlah baris yang berhasil disalin. Jika argumen pRowsCopied diatur ke NULL, argumen diabaikan oleh metode BCPExec.
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 BCPInit tidak dipanggil sebelum memanggil metode ini. Juga terjadi jika operasi telah dibatalkan melalui menggunakan opsi BCP_OPTION_ABORT, dan metode BCPExec dipanggil setelahnya.
E_OUTOFMEMORY
Kesalahan kehabisan memori.
DB_S_ENDOFROWSET
Operasi penyalinan massal selesai, dan semua transfer data selesai.
DB_S_ASYNCHRONOUS
Batch baris saat ini telah disalin. Panggil metode BCPExec lagi untuk mentransfer batch berikutnya.
DB_S_ERRORSOCCURRED
Terjadi kesalahan selama operasi salin massal, dan beberapa baris mungkin belum disalin. Jumlah kesalahan masih kurang dari kesalahan maksimum yang diizinkan.
Lihat Juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk