程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 把數據從SQL Server輸出到文本文件

把數據從SQL Server輸出到文本文件

編輯:關於SqlServer

你需要做的第一件事是確定xp_cmdshell是可用的。你可以選擇下面兩種方法中的一種來實現。

1.你可以使用sp_configure並執行下面的腳本。

EXEC master.dbo.sp_configure 'show advanced options', 1
RECONFIGURE
EXEC master.dbo.sp_configure 'xp_cmdshell', 1
RECONFIGURE

2.你可以使用Surface Area Configuration工具。

選擇功能中的Surface Area Configuration並檢查Enable xp_cmdshell檢驗欄。

圖一

現在既然你已經使xp_cmdshell可用,那麼你可以准備輸出你的文件。

下面是一個示例命令,它將把系統文件表的結果輸出到以逗號分割的文件bcptest.txt中。只需復制並把它粘貼到一個查詢窗口中且執行這個查詢。

EXEC xp_cmdshell 'bcp "SELECT * FROM sysfiles" queryout "C:\bcptest.txt" -T -c -t,' 注:BCP是一個命令行實用工具,xp_cmdshell要求只能在一個SQL批處理內使用。

當在"master"數據庫中執行上面的命令時將得到這個輸出結果。

圖二

使用的參數是:

l Queryout選項允許你指定一個查詢來輸出。這可以像我們使用的查詢那樣簡單也可以像你需要的那樣復雜。你也可以創建一個視圖並從視圖中選擇數據。

l file name是存儲結果的,它位於queryout選項之後。

l -T參數指定bcp實用工具通過集成安全使用一個可信連接來連接到SQL Server。如果你想使用一個SQL Server登陸,那麼你可以使用-P(密碼)和-U(用戶)。

l -c指定將用於各個字段的字符數據類型。

l -t參數允許你指定一個字段定界符。在-t之後的字符將用於隔開數據字段。如果-t被刪除了,那麼tab將用於默認定界符。

另一個你可能需要使用的參數是-S,你可以用它來指定服務器名稱。如果你有一個指定的實例,那麼你需要使用這個參數。下面是一個連接到服務器"DEVELOP" 和實例 "DEV1"的例子。

EXEC xp_cmdshell 'bcp "select name, type_desc, create_date from
sys.objects" queryout "C:\bcptest2.txt" -T -SDEVELOP\DEV1 -c -t,'

你也必須知道使用參數-t和-T的實例是不一樣的,所以要保證你在實例中使用正確的參數。

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