程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server命令行導數據的2種方式

SQL Server命令行導數據的2種方式

編輯:關於SqlServer

Filed under 數據庫技術

Leave a comment

SQL Server命令行導數據兩種方式bcp和sqlcmd

先說一下bcp:

BCP是SQL Server中負責導入導出數據的一個命令行工具,它是基於DB-Library的,並且能以並行的方式高效地導入導出大批量的數據。

BCP共有四個動作可以選擇。

(1) 導入。

這個動作使用in命令完成,後面跟需要導入的文件名。

(2) 導出。

這個動作使用out命令完成,後面跟需要導出的文件名。

(3) 使用SQL語句導出。

這個動作使用queryout命令完成,它跟out類似,只是數據源不是表或視圖名,而是SQL語句。

(4) 導出格式文件。

這個動作使用format命令完成,後而跟格式文件名。

下面介紹一些常用的選項:

-f format_file

format_file表示格式文件名。這個選項依賴於上述的動作,如果使用的是in或 out,format_file表示已經存在的格式文件,如果使用的是format則表示是要生成的格式文件。

-x 這個選項要和-f format_file配合使用,以便生成XML格式的格式文件。

-F first_row 指定從被導出表的哪一行導出,或從被導入文件的哪一行導入。

-L last_row

指定被導出表要導到哪一行結束,或從被導入文件SQL Server命令行導數據時,導到哪一行結束。

-c使用char類型做為存儲類型,沒有前綴且以”\t”做為字段分割符,以”\n”做為行分割符。

-w 和-c類似,只是當使用Unicode字符集拷貝數據時使用,且以nchar做為存儲類型。

-t fIEld_term 指定字符分割符,默認是”\t”。

-r row_term 指定行分割符,默認是”\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。

-k 指定空列使用null值插入,而不是這列的默認值。

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不僅可以接受表名或視圖名做為參數,也可以接受SQL做為參數。通過SQL語句可以對要導出的表進行過濾,然後導出過濾後的記錄。

EXEC master..xp_cmdshell ‘BCP “SELECT TOP 20 * FROM AdventureWorks.sales.currency” queryout c:\currency2.txt -c -U”sa” -P”passWord”‘

BCP還可以通過簡單地設置選項對導出的行進行限制。

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 實用工具並連接到 SQL Server 的默認實例

A、在“開始”菜單上,單擊“運行”。在“打開”框中,鍵入 cmd,然後單擊“確定”打開命令提示符窗口。

B、在命令提示符處,鍵入 sqlcmd。

C、按 Enter 鍵。

現在,您已與計算機上運行的默認 SQL Server 實例建立了可信連接。是 sqlcmd 提示符,可以指定行號。每按一次 Enter,該數字就會加 1。

D、若要結束 sqlcmd 會話,請在 sqlcmd 提示符處鍵入 EXIT。


exp:sqlcmd -S localhost -d databasename -U sa -P 12345 -i d:\test.sql

以上的相關內容就是對SQL Server命令行導數據的介紹,望你能有所收獲。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved