亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

SQL Server BCP使用小結(jié)

系統(tǒng) 1846 0
原文: SQL Server BCP使用小結(jié)

用法:?bcp?{dbtable? | ?query}?{ in ? | ?out? | ?queryout? | ?format}?數(shù)據(jù)文件
??
[ -m?最大錯誤數(shù) ] ????????????? [ -f?格式化文件 ] ????????? [ -e?錯誤文件 ]
??
[ -F?首行 ] ??????????????????? [ -L?末行 ] ????????????? [ -b?批大小 ]
??
[ -n?本機類型 ] ??????????????? [ -c?字符類型 ] ????????? [ -w?寬字符類型 ]
??
[ -N?將非文本保持為本機類型 ] ? [ -V?文件格式版本 ] ????? [ -q?帶引號的標識符 ]
??
[ -C?代碼頁說明符 ] ??????????? [ -t?字段終止符 ] ??????? [ -r?行終止符 ]
??
[ -i?輸入文件 ] ??????????????? [ -o?輸出文件 ] ????????? [ -a?數(shù)據(jù)包大小 ]
??
[ -S?服務器名稱 ] ????????????? [ -U?用戶名 ] ??????????? [ -P?密碼 ]
??
[ -T?可信連接 ] ??????????????? [ -v?版本 ] ????????????? [ -R?允許使用區(qū)域設(shè)置 ]
??
[ -k?保留空值 ] ??????????????? [ -E?保留標識值 ]
??
[ -h"加載提示" ] ?????????????? [ -x?生成xml?格式化文件 ]


-- 不利用格式化文件的導入導出(以下示例皆省略了-S參數(shù),因為是在本機,又是默認實例)
--
簡單導出表
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?-Pxxxxx '
-- 過濾導出表
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格式化文件進行數(shù)據(jù)的導入!
--
創(chuàng)建測試表
USE ?db_oa;
GO
CREATE ? 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 '

/*
格式化后的文件內(nèi)容如下:

<?xml?version="1.0"?>
<BCPFORMAT?xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format"?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
?<RECORD>
??<FIELD?ID="1"?xsi:type="CharTerm"?TERMINATOR=","?MAX_LENGTH="7"/>
??<FIELD?ID="2"?xsi:type="CharTerm"?TERMINATOR=","?MAX_LENGTH="100"?COLLATION="Chinese_PRC_CI_AS"/>
??<FIELD?ID="3"?xsi:type="CharTerm"?TERMINATOR=","?MAX_LENGTH="100"?COLLATION="Chinese_PRC_CI_AS"/>
??<FIELD?ID="4"?xsi:type="CharTerm"?TERMINATOR="\r\n"?MAX_LENGTH="100"?COLLATION="Chinese_PRC_CI_AS"/>
?</RECORD>
?<ROW>
??<COLUMN?SOURCE="1"?NAME="Col1"?xsi:type="SQLSMALLINT"/>
??<COLUMN?SOURCE="2"?NAME="Col2"?xsi:type="SQLNVARCHAR"/>
??<COLUMN?SOURCE="3"?NAME="Col3"?xsi:type="SQLNVARCHAR"/>
??<COLUMN?SOURCE="4"?NAME="Col4"?xsi:type="SQLNVARCHAR"/>
?</ROW>
</BCPFORMAT>

這里我們對文件關(guān)鍵字稍作解釋:
????<RECORD>父節(jié)點中的內(nèi)容是對源文件的格式化定義,即你要導入的數(shù)據(jù)文件
????????<FIELD?ID="1"(這里是源數(shù)據(jù)字段ID)?xsi:type="CharTerm"(字段類型)?TERMINATOR=","(字段分隔符)?MAX_LENGTH="7"(最大長度)/>
????????????不難看出,我們最常修改的就是TERMINATOR,可以修改為"|"等你需要的分隔符,注意最后一個字段的分隔符為"\r\n"
????</RECORD>
????<ROW>該父節(jié)點的內(nèi)容是目標數(shù)據(jù)的格式化定義,即你需要導入數(shù)據(jù)文件的地方
????????<COLUMN?SOURCE="1"(這個非常重要,指定的是上面源數(shù)據(jù)的字段ID,當源數(shù)據(jù)和目標數(shù)據(jù)字段順序或數(shù)目不一致時,我們可以修改這里達到我們想要的結(jié)果)?NAME="Col1"(目標字段名稱)?xsi:type="SQLSMALLINT"(目標字段類型)/>
????</ROW>
*/
-- 下面我們創(chuàng)建源數(shù)據(jù)文件,將以下內(nèi)容粘貼到我們指定的數(shù)據(jù)文件C:\myTestFormatFiles-c.txt中
/*

????10,Field2,Field3,Field4
????15,Field2,Field3,Field4
????46,Field2,Field3,Field4
????58,Field2,Field3,Field4
*/
-- 利用bcp格式化文件導入數(shù)據(jù)
exec ?master..xp_cmdshell? ' bcp?db_oa..myTestFormatFiles?in?C:\myTestFormatFiles-c.txt?-f?C:\myTestFormatFiles.Xml?-T '
-- 查看一下導入的數(shù)據(jù)
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導入數(shù)據(jù)
USE ?db_oa;
GO
DELETE ?myTestFormatFiles;
GO
BULK ? INSERT ?myTestFormatFiles?
???
FROM ? ' C:\myTestFormatFiles-c.txt ' ?
???
WITH ?(FORMATFILE? = ? ' C:\myTestFormatFiles.Xml ' );
GO
SELECT ? * ? FROM ?myTestFormatFiles;
GO
/*
????Col1????Col2????Col3????Col4
????10????Field2????Field3????Field4
????15????Field2????Field3????Field4
????46????Field2????Field3????Field4
????58????Field2????Field3????Field4
*/


-- 使用OPENROWSET?大容量行集提供程序?qū)?
USE ?db_oa;
DELETE ?myTestFormatFiles;
GO
INSERT ? INTO ?myTestFormatFiles
????
SELECT ? *
??????
FROM ?? OPENROWSET ( BULK ?? ' C:\myTestFormatFiles-c.txt ' ,
??????FORMATFILE
= ' C:\myTestFormatFiles.Xml ' ?????
??????)?
as ?t1?;
GO
SELECT ? * ? 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使用小結(jié)


更多文章、技術(shù)交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 99视频全部免费 | 欧美日韩亚洲综合久久久 | 97欧美在线看欧美视频免费 | 久久er国产精品免费观看1 | 国产精品亚洲片在线观看麻豆 | 4hu四虎永久免在线视看 | 天天干天天在线 | 手机在线精品视频每日更新 | 九天玄帝诀高清300集免费观看 | 欧美特级毛片aaaa | 久久国产网 | 91极品视频在线观看 | 91热久久免费频精品动漫99 | 色五月在线视频 | 黄片毛片免费观看 | 一区二区三区免费视频网站 | 男人天堂a | 国产精品久久免费视频 | 成年女人aaaaa毛片 | 超清波多野结衣精品一区 | 愉拍自拍视频在线播放 | 毛片大全在线 | 高清国产精品入口麻豆 | 久久亚洲精品中文字幕三区 | 日本在线观看中文字幕 | 人人骚 | 日本一级~片免费永久 | 国产网红在线视频 | 亚洲性生活 | 亚洲黄色激情视频 | 日韩一区二区三区精品 | 麻豆国内精品久久久久久 | 999精品视频 | 国产精品视频播放 | 亚洲欧美日韩一区二区在线观看 | 欧美三级午夜理伦三级小说 | 欧美freesex10一|3| 亚洲社区在线 | 在线有码 | 99视频精品全部国产盗摄视频 | 日日摸狠狠的摸夜夜摸 |