【问题标题】:Cannot connect to LocalDB via sqlcmd无法通过 sqlcmd 连接到 LocalDB
【发布时间】:2016-11-27 17:29:00
【问题描述】:

我目前正在学习 SQL Server,但在使用 sqlcmd 连接到本地数据库时遇到问题。

当我在 Powershell 中输入以下内容时:

sqlcmd -S "(localdb)\mssqllocaldb"

我收到以下错误消息:

Sqlcmd:错误:Microsoft ODBC Driver 13 for SQL Server:SQL Server 网络接口:系统找不到指定的文件。
Sqlcmd:错误:Microsoft ODBC Driver 13 for SQL Server:登录超时已过期。
Sqlcmd:错误:Microsoft ODBC Driver 13 for SQL Server:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。

如果我使用 SQL Server Management Studio,我可以连接到本地数据库。如果我使用实例名称管道,我也可以连接到本地数据库。

我已经全新安装了 Windows 10 x64、Visual Studio Community 和 SQL Server Management Studio 2016。

【问题讨论】:

  • (localdb) 是您的主机名,mssqllocaldb 是您的数据库实例的名称吗?你enable the TCP protocol了吗? Reference.
  • 使用Invoke-Sqlcmd 为我解决了这个问题。请在此处查看答案中的建议:stackoverflow.com/questions/34457048/…
  • 遇到同样的问题,仍然没有答案
  • @IliaG 存在驱动程序错误。检查我的答案以获取新驱动程序下载的链接
  • @CarrieKendall 谢谢,我会检查一下,虽然需求已经过去很久了:)

标签: sql-server database powershell sqlcmd smss


【解决方案1】:

ODBC Drive 13 中有一个driver bug。安装 ODBC Driver 13.1 更新将解决此问题。

你可以download the driver here

之后,你应该可以在 cmd 或 powershell 中使用:

sqlcmd -S "(localdb)\MSSQLLocalDB" -i C:\path\to\file.sql

【讨论】:

    【解决方案2】:

    我刚刚收到此错误,this article 为我解决了这个问题。从“Visual Studio 2017 & Pathing”开始阅读。

    错误消息实际上是因为我的路径变量指向旧版本的 sqlcmd 工具...。适用于我所有 SQL Express 引擎的那个是:

    C:\Program Files\Microsoft SQL Server\110\Tools\Binn\

    使用该目录中的 sqlcmd 对我有用。

    【讨论】:

    • 这是我的设置有问题,感谢您指出正确的方向!
    【解决方案3】:

    试试

    sqlcmd -S ".\mssqllocaldb"
    

    sqlcmd -S ".\mssqllocaldb -uYOUR_User -pYOUR_PASSWORD"
    

    【讨论】:

    • 并确保服务已启动
    猜你喜欢
    • 2016-08-10
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    相关资源
    最近更新 更多