SQL查询结果到文件脚本

时间:2013-09-26 15:23:00

标签: sql sql-server

我在Windows 2008 R2服务器上运行SQL Express并尝试编写脚本以定期查询数据库并将结果保存到文件中。我用过:

sqlcmd -Q SELECT DISTINCT Date from MMD_Scale ORDER BY Date ASC -o testresults.txt

bcp "select distinct Date from MMD_Scale ORDER BY Date ASC" queryout testresults.txt -c -T

问题是两次都回来说表MMD_Scale无法解决。我已在服务器管理工​​作室验证了该查询。还有一些在线消息来源说要用-D指定数据库但是当我添加它时它说-D已经过时而被忽略。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:4)

问题是当sqlcmd或bcp连接时,它们将连接到您的默认数据库。在这种情况下,它似乎不是您的表所在的数据库。

尝试在查询中添加“USE [database_name]”。 e.g。

sqlcmd -Q "USE MyDatabase; SELECT DISTINCT Date from MMD_Scale ORDER BY Date ASC" -o testresults.txt

或完全限定表名:

sqlcmd -Q "SELECT DISTINCT Date from MyDatabase.dbo.MMD_Scale ORDER BY Date ASC" -o testresults.txt

答案 1 :(得分:0)

-D标志与-d不同。试试sqlcmd -d YourDatabase -Q SELECT DISTINCT Date from MMD_Scale ORDER BY Date ASC -o testresults.txt