2015-08-20 29 views
0

我試圖以自動方式將數據從表格導出到CSV文件,因此是VBScript。使用BCP實用程序從表中導出數據

這裏是我的代碼和錯誤如下:

bcp dbname "SELECT * FROM mytable" queryout C:\Test.csv -T -c -Uusername -Ppassword -Sdbservername 

http://puu.sh/jIhtr/02b89c22af.png

+0

這是你的整個劇本嗎? VBScript不是批處理文件。如果你想運行一個命令行工具,你需要做更多的事情。 – Bond

回答

1

我從來沒有用過bcp,但它看起來像一個命令行工具。如果要執行從一個VBScript,你需要使用WshShell.Run,如下面的例子:

With CreateObject("WScript.Shell") 

    .Run "bcp dbname ""SELECT * FROM mytable"" queryout C:\Test.csv -T -c -Uusername -Ppassword -Sdbservername" 

End With 

拿筆記在你的SQL語句翻倍行情。

+0

這工作就像魔術一樣。作爲參考,我用來完成這個最後的bcp代碼是以下bcp「SELECT id FROM mytable」查詢C:\ Test.csv -T -c -E -S服務器名稱-d數據庫名稱 – tshoemake

1
bcp "SELECT * FROM mytable" queryout "C:\Test.csv" -T -c -Uusername -Ppassword -Sdbservername 

你不應該有DBNAME bcp後。我刪除它。這應該工作。

+0

嗯,在「SELECT * FROM MyTable」之後的字符38處仍然得到預期的語句結束 – tshoemake

+1

嘗試明確地選擇列名而不是「*」 –

+0

這是一個好主意,但仍在相同字符上出錯 – tshoemake

相關問題