【问题标题】:sqlcmd error when -S Server-S 服务器时出现 sqlcmd 错误
【发布时间】:2016-03-09 12:33:32
【问题描述】:

我的情况很奇怪。我正在使用 sqlcmd 运行带有命令的脚本:

sqlcmd -S %SName% -U %UName% -P %Pwd% -d %DbName% -I -i test.sql >> test_log.txt 2>&1

SName 是 IP\Instance,如 10.10.10.100\MyInstance

test.sql的内容很简单:

select @@servername
select getdate()

当我运行它给我以下错误:

Sqlcmd:错误:Microsoft ODBC Driver 11 for SQL Server:未找到数据源名称且未指定默认驱动程序。

***如果我将脚本复制并粘贴到另一台机器上并运行它就可以正常工作。

为什么要尝试通过 ODBC 连接?

我认为这是环境问题,但我不知道从哪里开始。

谢谢

【问题讨论】:

    标签: sql-server sqlcmd


    【解决方案1】:

    从命令行使用SQLCMD时,默认使用Microsoft ODBC驱动程序。

    来自https://msdn.microsoft.com/en-us/library/ms162773.aspx

    SQL Server Management Studio 使用 Microsoft .NET Framework SqlClient 在查询编辑器中以常规和 SQLCMD 模式执行。从命令行运行 sqlcmd 时,sqlcmd 使用 ODBC 驱动程序。由于可能应用不同的默认选项,因此当您在 SQLCMD 模式下的 SQL Server Management Studio 和 sqlcmd 实用程序中执行相同的查询时,您可能会看到不同的行为。

    您需要在目标环境中配置 ODBC,SQLCMD 才能工作。

    【讨论】:

    • 事实上,我试图运行的机器上缺少用于 SQL Server 的 Microsoft ODBC 驱动程序。谢谢。还有其他驱动程序,如 SQL Native Client 显示在 ODBC 上,但必须是 Microsoft ODBC 11 Driver for SQL Server
    猜你喜欢
    • 2014-05-28
    • 2020-12-18
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多