Freigeben über


IBCPSession::BCPColumns (Native Client OLE DB-Anbieter)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Wichtig

Der SQL Server Native Client (häufig abgekürzt mit SNAC) wurde aus SQL Server 2022 (16.x) und SQL Server Management Studio 19 (SSMS) entfernt. Sowohl der OLE DB-Anbieter für den SQL Server Native Client (SQLNCLI oder SQLNCLI11) als auch der Microsoft OLE DB-Legacyanbieter für SQL Server (SQLOLEDB) werden für Neuentwicklungen nicht empfohlen. Verwenden Sie in Zukunft den neuen Microsoft OLE DB-Treiber für SQL Server (MSOLEDBSQL).

Legt die Anzahl von Feldern fest, die an die Spalten einer SQL Server -Tabelle gebunden werden sollen.

Syntax

  
HRESULT BCPColumns(   
      DBCOUNTITEM nColumns);  

Bemerkungen

Intern wird IBCPSession::BCPColFmt aufgerufen, um die Standardwerte für Felddaten festzulegen. Diese Standardwerte werden aus den SQL Server-Spalteninformationen abgerufen, die der Anbieter intern abruft, wenn der Tabellenname über IBCPSession::BCPInit angegeben wird.

Hinweis

Diese Methode kann erst nach dem Aufruf von BCPInit mit einem gültigen Dateinamen aufgerufen werden.

Sie sollten diese Methode nur aufrufen, wenn Sie ein Benutzerdateiformat verwenden möchten, das sich vom Standardformat unterscheidet. Weitere Informationen mit einer Beschreibung des Standardformats für Benutzerdateien finden Sie unter der BCPInit -Methode.

Nach dem Aufruf der BCPColumns -Methode müssen Sie für alle Spalten in der Benutzerdatei die BCPColFmt -Methode aufrufen, um das benutzerdefinierte Dateiformat vollständig zu definieren.

Argumente

nColumns[in]
Die Gesamtzahl der Felder in der Benutzerdatei. Auch wenn Sie das Massenkopieren von Daten aus der Benutzerdatei in eine SQL Server-Tabelle vorbereiten und nicht alle Felder in der Benutzerdatei kopieren möchten, müssen Sie das nColumns -Argument auf die Gesamtzahl der Benutzerdateifelder festlegen. Die übersprungenen Felder können dann durch BCPColFmtangegeben werden.

Rückgabecodewerte

S_OK
Die Methode wurde erfolgreich ausgeführt.

E_FAIL
Ein anbieterspezifischer Fehler ist aufgetreten. Ausführliche Informationen erhalten Sie über die ISQLServerErrorInfo-Schnittstelle.

E_UNEXPECTED
Die Methode wurde unerwartet aufgerufen. Die BCPInit -Methode wurde beispielsweise erst nach dem Aufruf dieser Methode aufgerufen. Tritt auch auf, wenn diese Methode mehr als einmal für einen Massenkopiervorgang aufgerufen wird.

E_OUTOFMEMORY
Fehler aufgrund nicht genügenden Arbeitsspeichers

Weitere Informationen

IBCPSession (OLE DB)
Durchführen von Massenkopiervorgängen