无法通过sqlcmd连接到LocalDB

16

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

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

sqlcmd -S "(localdb)\mssqllocaldb"
我收到以下错误信息:

Sqlcmd: 错误: Microsoft ODBC Driver 13 for SQL Server : SQL Server Network Interfaces: 系统找不到指定的文件。
Sqlcmd: 错误: Microsoft ODBC Driver 13 for SQL Server : 登录超时。
Sqlcmd: 错误: Microsoft ODBC Driver 13 for SQL Server : 当建立与 SQL Server 的连接时发生了基于网络或特定实例的错误。未找到服务器或无法访问。请检查实例名称是否正确,并检查是否已配置 SQL Server 允许远程连接。有关详细信息,请参阅 SQL Server Books Online。

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

我安装了干净的 Windows 10 x64、Visual Studio Community 和 SQL Server Management Studio 2016。


(localdb)是你的主机名,mssqllocaldb是你的数据库实例名称吗?你是否启用了TCP协议参考资料 - Ansgar Wiechers
使用 Invoke-Sqlcmd 解决了我的问题。请参考这里的答案建议:http://stackoverflow.com/questions/34457048/trouble-connecting-to-localdb-via-sqlcmd-in-powershell-what-is-server-instance - Kristian Johannessen
仍然遇到相同的问题,仍未得到答案。 - Ilia G
@IliaG,那是一个驱动程序错误。请查看我的答案以获取新驱动程序下载链接。 - Carrie Kendall
@CarrieKendall 谢谢,我会去看看的,不过这个需求早就过去了 :) - Ilia G
3个回答

16

ODBC Driver 13存在一个驱动程序错误。安装ODBC Driver 13.1更新即可解决此问题。

您可以在此处下载该驱动程序

之后,您应该能够在命令提示符或PowerShell中使用:

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

2
我刚刚遇到了这个错误,但这篇文章帮助我解决了这个问题。请从“Visual Studio 2017 & Pathing”开始阅读。

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

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

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


这就是我的设置出了问题,感谢你指引我正确的方向! - Ade

1
尝试
sqlcmd -S ".\mssqllocaldb"

或者

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

并且确保该服务已启动。 - Fabiano Carvalho

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接