SQL Server命令行導(dǎo)數(shù)據(jù)據(jù)的2種方式
文章主要描述的是SQL Server命令行導(dǎo)數(shù)據(jù),我在一個信譽(yù)度很好的網(wǎng)站找到一個關(guān)于SQL Server命令行導(dǎo)數(shù)據(jù)的資料,拿出來供大家分享,以下就是正文的介紹,希望會給你帶來一些幫助在此方面。
Filed under 數(shù)據(jù)庫技術(shù)
Leave a comment
SQL Server命令行導(dǎo)數(shù)據(jù)兩種方式bcp和sqlcmd
先說一下bcp:
BCP是SQL Server中負(fù)責(zé)導(dǎo)入導(dǎo)出數(shù)據(jù)的一個命令行工具,它是基于DB-Library的,并且能以并行的方式高效地導(dǎo)入導(dǎo)出大批量的數(shù)據(jù)。
BCP共有四個動作可以選擇。
(1) 導(dǎo)入。
這個動作使用in命令完成,后面跟需要導(dǎo)入的文件名。
(2) 導(dǎo)出。
這個動作使用out命令完成,后面跟需要導(dǎo)出的文件名。
(3) 使用SQL語句導(dǎo)出。
這個動作使用queryout命令完成,它跟out類似,只是數(shù)據(jù)源不是表或視圖名,而是SQL語句。
(4) 導(dǎo)出格式文件。
這個動作使用format命令完成,后而跟格式文件名。
下面介紹一些常用的選項(xiàng):
-f format_file
format_file表示格式文件名。這個選項(xiàng)依賴于上述的動作,如果使用的是in或 out,format_file表示已經(jīng)存在的格式文件,如果使用的是format則表示是要生成的格式文件。
-x
這個選項(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)入文件SQL Server命令行導(dǎo)數(shù)據(jù)時,導(dǎo)到哪一行結(jié)束。
-c
使用char類型做為存儲類型,沒有前綴且以”\t”做為字段分割符,以”\n”做為行分割符。
-w
和-c類似,只是當(dāng)使用Unicode字符集拷貝數(shù)據(jù)時使用,且以nchar做為存儲類型。
-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í)例。如果要連接某臺機(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)值。
exp:
BCP AdventureWorks.sales.currency out c:\currency1.txt -c -U”sa” -P”password” –使用密碼連接
或
BCP AdventureWorks.sales.currency out c:\currency1.txt -c -T –使用信任連接
BCP不僅可以接受表名或視圖名做為參數(shù),也可以接受SQL做為參數(shù)。通過SQL語句可以對要導(dǎo)出的表進(jìn)行過濾,然后導(dǎo)出過濾后的記錄。
EXEC master..xp_cmdshell ‘BCP “SELECT TOP 20 * FROM AdventureWorks.sales.currency” queryout c:\currency2.txt -c -U”sa” -P”password”‘
BCP還可以通過簡單地設(shè)置選項(xiàng)對導(dǎo)出的行進(jìn)行限制。
EXEC master..xp_cmdshell ‘BCP “SELECT TOP 20 * FROM AdventureWorks.sales.currency” queryout c:\currency2.txt -F 10 -L 13 -c -U”sa” -P”password”‘
接著說sqlcmd:
啟動 sqlcmd 實(shí)用工具并連接到 SQL Server 的默認(rèn)實(shí)例
A、在“開始”菜單上,單擊“運(yùn)行”。在“打開”框中,鍵入 cmd,然后單擊“確定”打開命令提示符窗口。
B、在命令提示符處,鍵入 sqlcmd。
C、按 Enter 鍵。
現(xiàn)在,您已與計(jì)算機(jī)上運(yùn)行的默認(rèn) SQL Server 實(shí)例建立了可信連接。
1> 是 sqlcmd 提示符,可以指定行號。每按一次 Enter,該數(shù)字就會加 1。
D、若要結(jié)束 sqlcmd 會話,請?jiān)?sqlcmd 提示符處鍵入 EXIT。
exp:
sqlcmd -S localhost -d databasename -U sa -P 12345 -i d:\test.sql
以上的相關(guān)內(nèi)容就是對SQL Server命令行導(dǎo)數(shù)據(jù)的介紹,望你能有所收獲。
【編輯推薦】
- SQL Server 2005 synonyms的優(yōu)缺點(diǎn)有哪些?
- SQL Server快照功能以及其查詢操作
- SQL Server行轉(zhuǎn)列的什么情況下被用?
- SQL Server獲取表的容量很簡單!
- SQL Server排序遇到NULL,不怕不帕!