IBCPSession::BCPExec (OLE DB)
Wykonuje kopiowanie masowe operacji.
Składnia
HRESULT BCPExec(
DBROWCOUNT *pRowsCopied);
Uwagi
BCPExec metoda kopiuje dane z pliku użytkownika do tabela bazy danych lub odwrotnie, w zależności od wartości eDirection parametrem IBCPSession::BCPInit metoda.
Przed wywoływaniem BCPExec, call BCPInit metoda prawidłową nazwę pliku.Niewykonanie tego wyniki w błąd.Jedynym wyjątkiem jest, jeśli kwerenda ma być używany dla kopiowanie masowe działaniem.W takim przypadek należy określić wartość NULL dla nazwy tabela w BCPInit metoda, a następnie określ kwerendę za pomocą opcji BCP_OPTION_HINTS.
BCPExec to jedyna metoda luzem metody kopiowania, który prawdopodobnie będzie pozostałą dla dowolnej długości czas.Jest jedynym kopiowanie masowe metoda, która obsługuje asynchroniczny tryb.Asynchroniczny tryb zestaw właściwości SSPROP_ASYNCH_BULKCOPY wartość inna niż VARIANT_TRUE konkretnej sesja dostawca przed wywoływaniem BCPExec metoda.Ta właściwość jest dostępna w DBPROPzestaw_SQLSERVERSESSION właściwość zestaw.Aby przetestować zakończenia wywołania BCPExec metoda o takich samych parametrach.Jeśli nie wykonano jeszcze kopiowanie masowe, BCPExec metoda zwraca DB_S_ASYNCHRONOUS.Zwraca ona również w pRowsCopied argument liczba stanu liczby wierszy, które wysyłane do lub otrzymanych od serwera.Wiersze wysyłane do serwera nie są przekazywane, dopóki osiągnął koniec partia.
Argumenty
- pRowsCopied[Brak]
Wskaźnik do DWORD.BCPExec metoda wypełnia DWORD liczbę wierszy, które zostały skopiowane.Jeśli pRowsCopied argument jest zestaw , null jest ignorowany przez BCPExec metoda.
Wartości kodów powrotnych
S_OK
metoda powiodło się.E_FAIL
Wystąpił błąd dostawca; Aby uzyskać szczegółowe informacje, należy użyć ISQLServerErrorInfo interfejs.E_UNEXPECTED
Wywołanie metoda było nieoczekiwane.Na przykład BCPInit przed wywołaniem tej metoda nie wywołano metoda.Również występuje, jeśli operacja została przerwana przez użycie opcji BCP_OPTION_ABORT i BCPExec po wywołaniu metoda.BŁĄD E_OUTOFMEMORY
Błąd braku pamięci.DB_S_ENDOFROWSET
kopiowanie masowe Operacja zakończona i transferu danych została ukończona.DB_S_ASYNCHRONOUS
Bieżący partia wierszy został skopiowany.Wywołanie BCPExec metoda ponownie, aby przenieść następnej partia.DB_S_ERRORSOCCURRED
Wystąpiły błędy podczas kopiowanie masowe operacji, a niektóre wiersze może nie zostały skopiowane.Liczba błędów jest nadal mniejszy niż maksymalne błędy dopuszczalne.