日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

mysql navicat导入bcp_SQL Server中BCP导入导出用法详解

發(fā)布時(shí)間:2023/11/27 生活经验 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql navicat导入bcp_SQL Server中BCP导入导出用法详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

bcp命令是SQL

Server提供的一個(gè)快捷的數(shù)據(jù)導(dǎo)入導(dǎo)出工具。使用它不需要啟動(dòng)任何圖形管理工具就能以高效的方式導(dǎo)入導(dǎo)出數(shù)據(jù)。bcp是SQL

Server中負(fù)責(zé)導(dǎo)入導(dǎo)出數(shù)據(jù)的一個(gè)命令行工具,它是基于DB-Library的,并且能以并行的方式高效地導(dǎo)入導(dǎo)出大批量的數(shù)據(jù)。bcp可以將數(shù)據(jù)庫(kù)的表或視圖直接導(dǎo)出,也能通過SELECT?FROM語句對(duì)表或視圖進(jìn)行過濾后導(dǎo)出。在導(dǎo)入導(dǎo)出數(shù)據(jù)時(shí),可以使用默認(rèn)值或是使用一個(gè)格式文件將文件中的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫(kù)或?qū)?shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)出到文件中。

一、bcp的主要參數(shù)介紹

bcp共有四個(gè)動(dòng)作可以選擇。

1、導(dǎo)入。

這個(gè)動(dòng)作使用in命令完成,后面跟需要導(dǎo)入的文件名。

2、導(dǎo)出。

這個(gè)動(dòng)作使用out命令完成,后面跟需要導(dǎo)出的文件名。

3、使用SQL語句導(dǎo)出。

這個(gè)動(dòng)作使用queryout命令完成,它跟out類似,只是數(shù)據(jù)源不是表或視圖名,而是SQL語句。

4、導(dǎo)出格式文件。

這個(gè)動(dòng)作使用format命令完成,后而跟格式文件名。

下面介紹一些常用的選項(xiàng):

-f format_file

format_file表示格式文件名。這個(gè)選項(xiàng)依賴于上述的動(dòng)作,如果使用的是in或out,format_file表示已經(jīng)存在的格式文件,如果使用的是format則表示是要生成的格式文件。

-x

這個(gè)選項(xiàng)要和-f format_file配合使用,以便生成xml格式的格式文件。

-F first_row

指定從被導(dǎo)出表的哪一行導(dǎo)出,或從被導(dǎo)入文件的哪一行導(dǎo)入。

-L last_row

指定被導(dǎo)出表要導(dǎo)到哪一行結(jié)束,或從被導(dǎo)入文件導(dǎo)數(shù)據(jù)時(shí),導(dǎo)到哪一行結(jié)束。

-c

使用char類型做為存儲(chǔ)類型,沒有前綴且以"\t"做為字段分割符,以"\n"做為行分割符。

-w

和-c類似,只是當(dāng)使用Unicode字符集拷貝數(shù)據(jù)時(shí)使用,且以nchar做為存儲(chǔ)類型。

-t field_term

指定字符分割符,默認(rèn)是"\t"。

-r row_term

指定行分割符,默認(rèn)是"\n"。

-S server_name[ \instance_name]

指定要連接的SQL Server服務(wù)器的實(shí)例,如果未指定此選項(xiàng),bcp連接本機(jī)的SQL

Server默認(rèn)實(shí)例。如果要連接某臺(tái)機(jī)器上的默認(rèn)實(shí)例,只需要指定機(jī)器名即可。

-U login_id

指定連接SQL Sever的用戶名。

-P password

指定連接SQL Server的用戶名密碼。

-T

指定bcp使用信任連接登錄SQL Server。如果未指定-T,必須指定-U和-P。

-k

指定空列使用null值插入,而不是這列的默認(rèn)值。

二、使用BCP導(dǎo)出數(shù)據(jù)

1、在Command窗口導(dǎo)出數(shù)據(jù)

bcp命令可以直接在Command窗口運(yùn)行,你可以單擊開始菜單——運(yùn)行——cmd——進(jìn)入Command窗口,然后輸入你編寫好的bcp語句。

1)導(dǎo)出整個(gè)表或視圖

--使用可信連接導(dǎo)出整個(gè)表

bcp pTest.dbo.transinfo out ?c:\test.txt -c

-T

--使用密碼連接導(dǎo)出整個(gè)表

bcp pTest.dbo.transinfo out ?c:\test.txt

-S"(local)" -U"sa" -P"sa" -c

2)使用SQL語句導(dǎo)出表或視圖

--使用可信連接導(dǎo)出整個(gè)表

bcp “select * from pTest.dbo.transinfo" queryout

c:\test.txt -c -T

--使用密碼連接導(dǎo)出整個(gè)表

bcp “select * from pTest.dbo.transinfo" queryout

c:\test.txt -S"(local)" -U"sa" -P"sa" -c

2、在查詢分析器上導(dǎo)出數(shù)據(jù)

需要使用master..xp_cmdshell存儲(chǔ)過程,需要先檢查sqlserver的xp_cmdshell功能是否處于打開狀態(tài),可以通過如下命令來查看

exec sp_configure 'show advanced options'

name ?minimum

maximum ?config_value ?run_value

----------------------------------- ?----------- ?----------- ?---------- ?-----------

show advanced options ?0 ?1 ?0 ?0

如果config_value和

run_value的值為0,表明處于關(guān)閉狀態(tài)(為1時(shí)為開啟狀態(tài))??梢酝ㄟ^下列命令來開啟:

exec sp_configure 'show advanced options',1

reconfigure

開啟后的狀態(tài)為:

name ?minimum ?maximum ?config_value

run_value

----------------------------------- ----------- -----------

------------ -----------

show advanced options ?0 ?1 ?1

1

此時(shí)再檢查“xp_cmdshell”是否處于開啟狀態(tài),通過如下命令來查看:

exec sp_configure 'xp_cmdshell'

name ?minimum ?maximum ?config_value

run_value

----------------------------------- ----------- -----------

------------ -----------

xp_cmdshell ?0 ?1

0 ?0

如果config_value和

run_value的值為0,表明處于關(guān)閉狀態(tài)(為1時(shí)為開啟狀態(tài))??梢酝ㄟ^下列命令來開啟:

exec sp_configure 'xp_cmdshell',1

reconfigure

開啟后的狀態(tài)為:

name ?minimum ?maximum ?config_value

run_value

----------------------------------- ----------- -----------

------------ -----------

xp_cmdshell ?0 ?1

1 ?1

當(dāng)然你也可以進(jìn)入sqlserver外圍應(yīng)用配置器——功能的外圍應(yīng)用配置器——選中xp_cmdshell——開啟。也可以通過執(zhí)行sql語句的方式打開xp_cmdshell功能,最后總的開啟xp_cmdshell的sql語句為:

use master

exec sp_configure 'show advanced

options',1

reconfigure

exec sp_configure

'xp_cmdshell',1

reconfigure

1)導(dǎo)出整個(gè)表或視圖

--使用可信連接導(dǎo)出整個(gè)表

exec master..xp_cmdshell 'bcp pTest.dbo.transinfo out

c:\test2012-12-14.txt -c -T'

--使用密碼連接導(dǎo)出整個(gè)表

exec master..xp_cmdshell 'bcp pTest.dbo.transinfo out

c:\test.txt -S"(local)" -U"sa" -P"sa" -c'

2)使用SQL語句導(dǎo)出表或視圖

--使用可信連接導(dǎo)出整個(gè)表

exec master..xp_cmdshell 'bcp "select * from

pTest.dbo.transinfo" queryout ?c:\test.txt -c

-T'

--使用密碼連接導(dǎo)出整個(gè)表

exec master..xp_cmdshell 'bcp "select * from

pTest.dbo.transinfo" queryout ?c:\test.txt

-S"(local)" -U"sa" -P"sa" -c'

3)對(duì)表數(shù)據(jù)進(jìn)行過濾導(dǎo)出

bcp不僅可以接受表名或視圖名做為參數(shù),也可以接受SQL做為參數(shù)。通過SQL語句可以對(duì)要導(dǎo)出的表進(jìn)行過濾,然后導(dǎo)出過濾后的記錄。

exec master..xp_cmdshell 'bcp "select top 2* from

pTest.dbo.transinfo" queryout ?c:\test.txt

-S"(local)" -U"sa" -P"sa" -c'

bcp還可以通過簡(jiǎn)單地設(shè)置選項(xiàng)對(duì)導(dǎo)出的行進(jìn)行限制。

exec master..xp_cmdshell 'bcp "select * from

pTest.dbo.transinfo" queryout ?c:\test.txt -F2 -L4

-S"(local)" -U"sa" -P"sa" -c'

表示從表所查詢出來的結(jié)果中,取第2條到第4條數(shù)據(jù)進(jìn)行導(dǎo)出。

4)使用BCP導(dǎo)出格式文件

bcp還可以通過-x選項(xiàng)生成xml格式的格式文件。xml格式文件所描述的內(nèi)容和普通格式文件所描述的內(nèi)容完全一樣,只是格式不同。

exec master..xp_cmdshell 'bcp pTest.dbo.transinfo

format null -f c:\test.xml -x -c -T'

三、使用BCP導(dǎo)入數(shù)據(jù)

bcp可以通過in命令將上面所導(dǎo)出的test.txt再重新導(dǎo)入到數(shù)據(jù)庫(kù)中和表transinfo的結(jié)構(gòu)完全一樣的表中。如果要導(dǎo)入的表沒有主鍵約束時(shí),也可以將數(shù)據(jù)直接導(dǎo)入到源表中。

--創(chuàng)建和transinfo結(jié)構(gòu)相同的表transinfo1

select top 0 * into transinfo1 from transinfo

--將數(shù)據(jù)導(dǎo)入到transinfo1 表中

exec master..xp_cmdshell 'bcp pTest.dbo.transinfo1

in c:\test.txt ?-c -T'

--導(dǎo)入數(shù)據(jù)也同樣可以使用-F和-L選項(xiàng)來選擇導(dǎo)入數(shù)據(jù)的記錄行。

exec master..xp_cmdshell 'bcp pTest.dbo.transinfo1

in c:\test.txt -F2 -L4 ?-c

-T'

在導(dǎo)入數(shù)據(jù)時(shí)可以根據(jù)已經(jīng)存在的格式文件將滿足條件的記錄導(dǎo)入到數(shù)據(jù)庫(kù)中,不滿足則不導(dǎo)入。如上述的格式文件中的第三個(gè)字段的字符長(zhǎng)度是24,如果某個(gè)文本文件中的相應(yīng)字段的長(zhǎng)度超過24,則這條記錄將不被導(dǎo)入到數(shù)據(jù)庫(kù)中,其它滿足條件的記錄正常導(dǎo)入。

本文參考資料:http://chenjie.blog.51cto.com/24029/7195/

http://www.cnblogs.com/RascallySnake/archive/2010/11/17/1880287.html

總結(jié)

以上是生活随笔為你收集整理的mysql navicat导入bcp_SQL Server中BCP导入导出用法详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。