2013-03-14 64 views
0

任何其他格式當我運行下面的命令:
sqlcmd -S server -U sa -P xxxxxxx -i d:clients.sql -o D:\clients.txt
但在文件我有影響,「1> 2> 3> 4> 5> 6> 7> 8×行>「和許多其他空間
我只會導致沒有任何格式。
在sql文件中,我有一些選擇。結果保存到txt文件,而不在SQLCMD

提前致謝。

+0

「1> 2> 3> 4> 5> 6> 7> 8>」在使用osql之前使用sqlcmd時隱藏 – Fara 2013-03-14 13:44:52

回答

1

您可以將SET NOCOUNT ON添加到您的腳本中remove the rows affected message並將-h-1添加到命令行以刪除列名稱和它們下面的行。這對我的作品,只返回行數據:

sqlcmd -E -i query.sql -o tmp.txt -h-1 

query.sql看起來是這樣的:

set nocount on; 
select name from sys.objects; 

但我不知道在哪裏1> 2> 3> 4> 5> 6> 7> 8>字符的來源。您可能想要發佈一個提供該輸出的SQL腳本的最小示例。

作爲一般性評論,我個人不喜歡使用sqlcmd.exe來運行查詢,因爲很難控制輸出。一些其他的事情要考慮的是:

  • 使用的Bcp.exe如果你想有一個分隔的文件
  • 使用PowerShell中,的Perl腳本或任何一種語言,你喜歡
  • 使用SSIS包
  • 把你的腳本內容到存儲過程並執行它而不是使用輸入文件