共用方式為


IBCPSession::BCPColumns (Native Client OLE DB Provider)

適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)

重要

SQL Server Native Client (通常縮寫為 SNAC) 已從 SQL Server 2022 (16.x) 和 SQL Server Management Studio 19 (SSMS) 中移除。 不建議使用 SQL Server Native Client OLE DB 提供者 (SQLNCLI 或 SQLNCLI11) 和舊版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 進行新的開發。 請切換至新的 Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server 以繼續使用。

設定要繫結至 SQL Server 資料表中之資料行的欄位數。

語法

  
HRESULT BCPColumns(   
      DBCOUNTITEM nColumns);  

備註

它會在內部呼叫 IBCPSession::BCPColFmt 來設定欄位資料的預設值。 這些預設值會從 SQL Server 資料行資訊取得,提供者會在透過 IBCPSession::BCPInit 指定資料表名稱時,在內部擷取這項資訊。

注意

只有在已使用有效的檔案名稱呼叫 BCPInit 後,才可以呼叫這個方法。

只有打算使用與預設值不同的使用者檔案格式時,才可以呼叫此方法。 如需預設使用者檔案格式之描述的詳細資訊,請參閱 BCPInit 方法。

在呼叫 BCPColumns 方法之後,您必須針對使用者檔案中的每個資料行呼叫 BCPColFmt 方法,以完整定義自訂的檔案格式。

引數

nColumns[in]
使用者檔案中的欄位總數。 即使您準備要將資料從使用者檔案大量複製到 SQL Server 資料表,而不想複製使用者檔案中的所有欄位,也仍必須將 nColumns 引數設定為使用者檔案欄位的總數。 接著,系統可以透過 BCPColFmt 指定略過的欄位。

傳回碼值

S_OK
此方法已成功。

E_FAIL
發生提供者特有的錯誤,如需詳細資訊,請使用 ISQLServerErrorInfo 介面。

E_UNEXPECTED
此方法的呼叫是非預期的。 例如,在呼叫這個方法之前,不會呼叫 BCPInit 方法。 針對大量複製作業呼叫此方法超過一次時,也會發生這個狀況。

E_OUTOFMEMORY
記憶體不足錯誤

另請參閱

IBCPSession (OLE DB)
執行大量複製作業