IBCPSession::BCPExec (OLE DB)
Wykonuje kopiowanie masowe operacji.
HRESULT BCPExec(
DBROWCOUNT *pRowsCopied);
Remarks
The BCPExec metoda copies data from a user file to a database tabela or vice versa, depending on the value of the eDirection parameter used with the IBCPSession::BCPInit metoda.
Przed telefonicznej BCPExec, call the BCPInit metoda pod nazwą użytkownika jest nieprawidłowe.Zaniechanie tej czynności powoduje błąd.Jedynym wyjątkiem jest, jeśli kwerenda ma być używany dla kopiowanie masowe limit operacji.W takim przypadek należy określić wartość NULL dla nazwy tabela w BCPInit metoda, a następnie określ kwerendę, korzystając z opcji BCP_OPTION_HINTS.
The BCPExec metoda is the only kopiowanie masowe metoda that is likely to be outstanding for any length of czas.W związku z tym jest jedynym zbiorczej metoda kopii, która obsługuje asynchroniczny tryb.Do pracy w trybie asynchronicznym, właściwość dostawca określonej sesja SSPROP_ASYNCH_BULKCOPY na VARIANT_TRUE przed telefonicznej BCPExec metoda.Ta właściwość jest dostępna w DBPROPSET_SQLSERVERSESSION zestaw właściwości.Aby przetestować ukończenia, wywołanie BCPExec metoda z tymi samymi parametrami.Jeśli kopiowanie masowe nie zostało jeszcze zakończone, BCPExec metoda zwraca DB_S_ASYNCHRONOUS.Zwraca ona także w pRowsCopied argument zliczania stanu liczby wierszy, które zostały wysłane do lub odebrał od serwera. Wiersze wysłane do serwera nie są zobowiązane do czasu osiągnięcia celu partia.
Argumenty
- pRowsCopied[Brak]
Wskaźnik na wartość typu DWORD.The BCPExec metoda fills the DWORD with the number of rows successfully copied.Jeśli pRowsCopied argument jest zestaw wartość null, jest on ignorowany przez BCPExec metoda.
Wartości kodów powrotnych
S_OK
metoda powiodło się.E_FAIL
Wystąpił błąd specyficzny dla dostawca; Aby uzyskać szczegółowe informacje, użyj ISQLServerErrorInfo interfejs.E_UNEXPECTED
Wywołanie metoda było nieoczekiwane.Na przykład BCPInit metoda nie została wywołana przed wywołaniem tej metody.Ma miejsce, gdy operacja została przerwana przez użycie opcji BCP_OPTION_ABORT oraz BCPExec Wywołana została metoda później.E_OUTOFMEMORY
Błąd limitu pamięci.DB_S_ENDOFROWSET
kopiowanie masowe Operacja zakończona i przeniesienia danych zostało ukończone.DB_S_ASYNCHRONOUS
Bieżącej instancji wiersze zostały skopiowane.Wywołanie BCPExec metoda ponownie, aby przenieść następnej partia.DB_S_ERRORSOCCURRED
Wystąpił błąd podczas operacji kopiowania zbiorczej, a niektóre wiersze może nie zostały skopiowane.Liczba błędów jest jeszcze mniejszy niż błędy maksymalne dozwolone.