Aracılığıyla paylaş


IBCPSession::BCPExec (ole db)

Toplu kopyalama işlemi gerçekleştirir.

Sözdizimi

HRESULT BCPExec( 
      DBROWCOUNT *pRowsCopied);

Açıklamalar

The BCPExec method copies data from a user file to a database table or vice versa, depending on the value of the eDirection parameter used with the IBCPSession::BCPInit method.

Önce arama BCPExec, çağrı BCPInit yöntem ile geçerli bir kullanıcı dosya adı.Bunun yapılmaması sonuçlar hata.Tek özel durum bir sorgu için bir toplu kopyalama işlemi dışında kullanılacak olmasıdır.O durum tablo adı null belirtmek BCPInit yöntem ve BCP_OPTION_HINTS seçeneğini kullanarak sorguyu belirtin.

The BCPExec method is the only bulk copy method that is likely to be outstanding for any length of time.Bu nedenle tek olan toplu kopyalama zaman uyumsuz modu destekleyen bir yöntem.Zaman uyumsuz modu kullanacak biçimde küme önce arama sağlayıcısı belirli SESSION özellik üzerine yazılmasına için ssprop_asynch_bulkcopy BCPExec yöntem.Bu özellik, DBPROPSET_SQLSERVERSESSION özellik küme içinde kullanılabilir.Tamamlanmasını sınamak için çağrı BCPExec yöntem ile aynı parametreleri.toplu kopyalama henüz tamamlanmadı, BCPExec yöntem db_s_asynchronous döndürür.Onu da verir pRowsCopied bağımsız değişkeni, gönderilen veya yüklenmiş sunucu alınan satır sayısını durum sayısıBir toplu iş sonuna geldi kadar sunucuya gönderilen satırları iletilmez.

Bağımsız değişkenler

  • pRowsCopied[Çıkış]
    Bir dword için bir işaretçi.The BCPExec method fills the DWORD with the number of rows successfully copied.If the pRowsCopied argument is set to NULL, it is ignored by the BCPExec method.

Dönüş Kodu Değerleri

  • S_OK
    Yöntem başarılı oldu.

  • E_FAIL
    A sağlayıcı-belirli bir hata oluştu; ayrıntılı bilgi için kullanma ISQLServerErrorInfo arabirim.

  • E_UNEXPECTED
    Beklenmeyen yöntem çağrısı.Örneğin, BCPInit yöntem, bu yöntem çağırmadan önce değil çağrıldı.Da BCP_OPTION_ABORT seçeneğini kullanarak işlemi durduruldu ortaya çıkar ve BCPExec yöntem sonradan çağrıldı.

  • E_OUTOFMEMORY
    Bellek yetersiz hatası.

  • DB_S_ENDOFROWSET
    Toplu kopyalama işlemi tamamlanmış ve tüm veri aktarımı tamamlandı.

  • DB_S_ASYNCHRONOUS
    Geçerli toplu iş iş satırların kopyalanır.Call BCPExec sonraki yeniden aktarım yöntem toplu iş.

  • DB_S_ERRORSOCCURRED
    Toplu kopyalama işlemi sırasında hatalar oluştu ve bazı satırlar yok kopyalanmış olabilir.Zaman hata sayısı izin verilen en büyük hataları hala küçüktür.

Ayrıca bkz.

Kavramlar

Diğer Kaynaklar