我使用 ODBC 驱动程序和为远程数据库 (Auto02as) 创建的 DSN。我可以通过“数据 -> 来自其他来源”选项从 Excel 访问数据库,没有任何问题。
我还在 Microsoft SQL Server Management Studio 中创建了一个链接服务器,一切都很好;我可以运行查询。
截图:
但我真正需要的是每天晚上自动创建一个带有查询的 CSV:
SELECT * FROM mytable
。
我尝试了各种命令,例如 bcp、sqlcmd 或 osql,但无法完成工作。
例如,此命令失败:
bcp "SELECT * FROM mytable" queryout mytable.csv -d Auto02as -S pc-integral\integral -U admin -P admin
SQLState = 28000,NativeError = 18456 错误 = [Microsoft][SQL Server Native Client 11.0][SQL Server]使用“admin”会话时出现错误。
当然,用户名和密码是正确的。
我怎样才能做到这一点?
我使用...DSN
查看 bcp 文档的摘录:
-D
导致传递给 bcp -S 选项的值被解释为数据源名称 (DSN)。
这可能是您想要使用的选项,因为它可以确保您一步获得正确的服务器、数据库和驱动程序。根据 DSN,它还可以将凭据保留在您的脚本之外,因为它们可能会被嗅探。
bcp "SELECT * FROM mytable" out mytable.csv -D -S Auto02as