如何:從程式變數中大量複製資料 (ODBC)
有一個範例會示範如何使用大量複製函數,透過 bcp_bind 和 bcp_sendrow 從程式變數大量複製資料到 SQL Server (為了簡化這個範例會移除錯誤檢查程式碼)。
完整的範例程式碼位於 BulkCopyFromVariables.cpp 檔案中,而且您可以從 SQL Server 程式碼範例 (英文) 頁面下載此檔案。這個範例是使用 Microsoft Visual C++ 2005 所開發的,而且是針對 ODBC 3.0 版或更新版本所開發的。
安全性注意事項:可能的話,請使用 Windows 驗證。如果無法使用 Windows 驗證,請提示使用者在執行階段輸入認證。請避免將認證儲存在檔案中。如果您必須保存認證,則應該用 Win32 cryptoAPI 加密這些認證。
若要直接針對程式變數使用大量複製函數
配置環境控制代碼和連接控制代碼。
將 SQL_COPT_SS_BCP 和 SQL_BCP_ON 設定為啟用大量複製作業。
連接到 SQL Server。
呼叫 bcp_init,以便設定下列資訊:
要進行大量複製之來源或目標資料表或檢視表的名稱。
針對資料檔案的名稱指定 NULL。
要接收任何大量複製錯誤訊息的資料檔案名稱 (如果您不需要訊息檔案,請指定 NULL)。
複製的方向:DB_IN (從應用程式到檢視表或資料表) 或 DB_OUT (從資料表或檢視表到應用程式)。
針對大量複製中的每個資料行呼叫 bcp_bind,以便將資料行繫結至程式變數。
將資料填入程式變數,並且呼叫 bcp_sendrow 來傳送資料列。
在已經傳送許多資料列之後,請呼叫 bcp_batch 來設定已經傳送之資料列的檢查點。建議您每 1000 個資料列至少呼叫 bcp_batch 一次。
在已經傳送所有資料列之後,請呼叫 bcp_done 來完成此作業。
您可以在大量複製作業期間呼叫 bcp_colptr 和 bcp_collen,藉以改變程式變數的位置和長度。您可以使用 bcp_control 來設定各種大量複製選項。您可以使用 bcp_moretext,將 text、ntext 和 image 資料分區段傳送至伺服器。