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

數據從SQL Server輸到文本文件

編輯:關於SqlServer

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

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

    數據從SQL Server輸到文本文件 三聯

    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 -SDEVELOPDEV1 -c -t,'EXEC xp_cmdshell 'bcp "select name, type_desc, create_date from sys.objects" queryout "C:bcptest2.txt" -T -SDEVELOPDEV1 -c -t,'

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

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