IBCPSession::BCPColumns (OLE DB)

適用範圍: 是SQL Server (所有支援的版本) 是Azure SQL Database 是Azure SQL 受控執行個體 是Azure Synapse Analytics 是平行處理資料倉儲

下載下載 OLE DB 驅動程式

設定要繫結至 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)
執行大量複製作業