BCP 指令的參數很多,使用 -h 檢視幫助資訊,注意:參數是區分大小寫的
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZwpmL3YTMzkDO0kDNtkjN0YTM2MTMxIjM2AjNxAjMtQDOwgjM28CX2AjNxAjMvwFN4ADOyYzLcd2bsJ2Lc12bj5ycn9Gbi52YuUTMwIzcldWYtl2Lc9CX6MHc0RHaiojIsJye.jpg)
使用BCP指令導出和導入資料常用的參數如下
bcp {[[database_name.][schema_name]].{table_name | view_name} | "query"}
{in | out | queryout} 資料檔案
[-c 字元類型] | [-w 寬字元類型]
[-t 字段終止符] [-r 行終止符]
[-i 輸入檔案] [-o 輸出檔案]
[-S 伺服器名稱] [-U 使用者名] [-P 密碼]
[-T 可信連接配接] [-d 資料庫名稱]
[-k 保留NULL值]
-c 使用char類型做為存儲類型,沒有字首且以"\t"做為字段分割符,以"\n"做為行分割符。
-w 使用Unicode字元集拷貝資料,在資料庫中,需要将Table Column設定為 nchar或nvarchar存儲類型。如果 -c 和 -w 同時指定,那麼 -w 将覆寫 -c。
-t field_term 指定column分割符,預設是"\t"。
-r row_term 指定row分割符,預設是"\n"。
-S server_name[ \instance_name] 指定要連接配接的SQL Server伺服器的執行個體,如果未指定此選項,BCP連接配接本機的SQL Server預設執行個體。如果要連接配接某台機器上的預設執行個體,隻需要指定機器名即可。
-U login_id 指定連接配接SQL Sever的使用者名。
-P password 指定連接配接SQL Server的使用者名密碼。
-T 指定BCP使用信任連接配接登入SQL Server。如果未指定-T,必須指定-U和-P。
-d 指定資料庫名稱
-k 指定空列使用null值插入,而不是這列的預設值。
一,使用bcp 将整個table中的資料導出到txt或csv文檔中
二,使用 query statement 将查詢結果導出到txt 或 csv文檔中
1,配置SQL Server,允許運作 xp_cmdshell 指令
否則,SQL Server 會抛出錯誤資訊
SQL Server 阻止了對元件“xp_cmdshell”的 過程“sys.xp_cmdshell”的通路,因為此元件已作為此伺服器安全配置的一部分而被關閉。系統管理者可以通過使用 sp_configure 啟用“xp_cmdshell”。有關啟用“xp_cmdshell”的詳細資訊,請搜尋 SQL Server 聯機叢書中的“xp_cmdshell”。
啟用“xp_cmdshell” 被認為是不安全的,在使用完 “xp_cmdshell” 指令之後,使用以下script将其禁用。
2,使用 xp_cmdshell 指令運作BCP指令,将資料導出
3,使用 xp_cmdshell 指令,也可以将整個Table的資料導出
三,将資料導入到SQL Server
1,使用BCP,将txt文檔中的資料導入到table [dbo].[Inventory_LoadIn] 中
2,使用xp_cmdshell 指令執行bcp,将資料導入到資料庫table中
本文轉自lzwxx 51CTO部落格,原文連結:http://blog.51cto.com/13064681/1942704