IBCPSession::BCPColumns (Native Client OLE DB Provider)

Dotyczy:sql ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Ważna

SQL Server Native Client (często skracany jako SNAC) został usunięty z SQL Server 2022 (16.x) i SQL Server Management Studio 19 (SSMS). Zarówno dostawca OLE DB klienta natywnego programu SQL Server (SQLNCLI lub SQLNCLI11), jak i starszy dostawca MICROSOFT OLE DB dla programu SQL Server (SQLOLEDB) nie są zalecane w przypadku nowego programowania. Przełącz się na nowy sterownik Microsoft OLE DB (MSOLEDBSQL) dla programu SQL Server na przyszłość.

Ustala liczbę pól, które mają być przypisane do kolumn w tabeli SQL Server.

Syntax

  
HRESULT BCPColumns(   
      DBCOUNTITEM nColumns);  

Remarks

Wewnętrznie wywołuje IBCPSession::BCPColFmt , aby ustawić domyślne wartości dla danych polowych. Te wartości domyślne są uzyskiwane z informacji kolumny SQL Server, które dostawca pobiera wewnętrznie, gdy nazwa tabeli jest określana przez IBCPSession::BCPInit.

Uwaga / Notatka

Metoda ta może być wywołana dopiero po wywołaniu BCPInit z poprawną nazwą pliku.

Powinieneś wywołać tę metodę tylko wtedy, gdy zamierzasz użyć formatu pliku użytkownika różniącego się od domyślnego. Więcej informacji na temat domyślnego formatu pliku użytkownika można znaleźć w metodzie BCPInit .

Po wywołaniu metody BCPColumns musisz wywołać metodę BCPColFmt dla każdej kolumny w pliku użytkownika, aby całkowicie zdefiniować niestandardowy format pliku.

Arguments

nKolumny[in]
Całkowita liczba pól w pliku użytkownika. Nawet jeśli przygotowujesz się do masowej kopii danych z pliku użytkownika do tabeli SQL Server i nie zamierzasz kopiować wszystkich pól w pliku użytkownika, nadal musisz ustawić argument nColumns na całkowitą liczbę pól pliku użytkownika. Pominięte pola można następnie określić za pomocą BCPColFmt.

Wartości kodów zwracanych

S_OK
Metoda się powiodła.

E_FAIL
Wystąpił błąd specyficzny dla dostawcy; aby uzyskać szczegółowe informacje, użyj interfejsu ISQLServerErrorInfo .

E_UNEXPECTED
Wywołanie metody było nieoczekiwane. Na przykład metoda BCPInit nie była wywoływana przed wywołaniem tej metody. Występuje także, gdy ta metoda jest wywoływana więcej niż raz dla operacji kopiowania masowego.

E_OUTOFMEMORY
Błąd z powodu braku pamięci.