用法: bcp 資料檔案
[-m 最大錯誤數][
-f 格式化檔案][
-e 錯誤檔案][
-f 首行][
-l 末行][
-b 批大小][
-n 本機型別][
-c 字元型別][
-w 寬字元型別][
-n 將非文字保持為本機型別][
-v 檔案格式版本][
-q 帶引號的識別符號][
-c **頁說明符][
-t 字段終止符][
-r 行終止符][
-i 輸入檔案][
-o 輸出檔案][
-a 資料報大小][
-s 伺服器名稱][
-u 使用者名稱][
-p 密碼][
-t 可信連線][
-v 版本][
-r 允許使用區域設定][
-k 保留空值][
-e 保留標識值][
-h"載入提示"][
-x 生成xml 格式化檔案]--
不利用格式化檔案的匯入匯出(以下示例皆省略了-s引數,因為是在本機,又是預設例項)
--簡單匯出表
exec
master..xp_cmdshell
'bcp db_oa.dbo.t_user_list out c:\a.xls -c -t'--
"-t"信任連線
exec
master..xp_cmdshell
'bcp db_oa.dbo.t_user_list out c:\a.txt -c -usa -p***xx'--
過濾匯出表
exec
master..xp_cmdshell
'bcp "select top 3 * from db_oa.dbo.t_user_list" queryout c:\a.txt -c -t'--
簡單匯入表
exec
master..xp_cmdshell
'bcp db_oa.dbo.t_user_list_2 in c:\a.txt -c -t
'exec
master..xp_cmdshell
'bcp db_oa.dbo.t_user_list_2 in c:\a.txt -c -t -e'--
加上"-e"啟用identity_insert on
--下面是利用xml格式化檔案進行資料的匯入!
--建立測試表
usedb_oa;
gocreate
table
mytestformatfiles (
col1
smallint
,col2
nvarchar(50
),col3
nvarchar(50
),col4
nvarchar(50
));go--
輸出xml格式化檔案
--說明一下:-t","是指定字段分隔符,稍後我們會講到
exec
master..xp_cmdshell
'bcp db_oa..mytestformatfiles format nul -c -t"," -x -f c:\mytestformatfiles.xml -t'/*
格式化後的檔案內容如下:
<?xml version="1.0"?>
這裡我們對檔案關鍵字稍作解釋:
父節點中的內容是對原始檔的格式化定義,即你要匯入的資料檔案
不難看出,我們最常修改的就是terminator,可以修改為"|"等你需要的分隔符,注意最後乙個欄位的分隔符為"\r\n"
該父節點的內容是目標資料的格式化定義,即你需要匯入資料檔案的地方
*/--
下面我們建立源資料檔案,將以下內容貼上到我們指定的資料檔案c:\mytestformatfiles-c.txt中
/*10,field2,field3,field4
15,field2,field3,field4
46,field2,field3,field4
58,field2,field3,field4
*/--
利用bcp格式化檔案匯入資料
exec
master..xp_cmdshell
'bcp db_oa..mytestformatfiles in c:\mytestformatfiles-c.txt -f c:\mytestformatfiles.xml -t'--
檢視一下匯入的資料
select
*from
mytestformatfiles
/*col1 col2 col3 col4
10 field2 field3 field4
15 field2 field3 field4
46 field2 field3 field4
58 field2 field3 field4
*/--
使用bulk insert匯入資料
usedb_oa;
godelete
mytestformatfiles;
gobulk
insert
mytestformatfiles
from
'c:\mytestformatfiles-c.txt
'with
(formatfile ='
c:\mytestformatfiles.xml');
goselect
*from
mytestformatfiles;
go/*
col1 col2 col3 col4
10 field2 field3 field4
15 field2 field3 field4
46 field2 field3 field4
58 field2 field3 field4
*/--
使用openrowset 大容量行集提供程式匯入
usedb_oa;
delete
mytestformatfiles;
goinsert
into
mytestformatfiles
select
*from
openrowset
(bulk
'c:\mytestformatfiles-c.txt',
formatfile='
c:\mytestformatfiles.xml')
ast1 ;
goselect
*from
mytestformatfiles;
go/*
col1 col2 col3 col4
10 field2 field3 field4
15 field2 field3 field4
46 field2 field3 field4
58 field2 field3 field4
*/--
刪除測試表
drop
table
mytestformatfiles
sql server BCP 工具的使用
bcp的用法很多,詳細用法各位可以參看 1 2 3 msdn 下面我只說一下bcp的乙個很簡單的用法 在查詢分析器中執行下面這條語句 exec master.xp cmdshell bcp.in c t,s u p 其中 exec master.xp cmdshell master.xp cmdsh...
SQLServer BCP 匯入匯出資料
bcp 實用工具可以在 sql server 例項和使用者指定格式的資料檔案間大容量複製資料。使用 bcp 實用工具可以將大量新行匯入 sql server 表,或將表資料匯入資料檔案。除非與 queryout 選項一起使用,否則使用該實用工具不需要了解 transact sql 知識。若要將資料匯...
VI使用小技巧
1 替換某一字串 s old word new word g 在整個檔案中將old word替換為new word 2 不進入vi編輯器將檔案中的某一字串替換掉 sed s 111 aaa g 1.txt 2.txt 將1.txt中所有的111替換為aaa,修改後的檔案寫入2.txt sed s 1...