我已经在我的电脑上安装了LocalDb服务器。
我正试图在Navicat中创建到LocalDB服务器的连接。
我无法获得LocalDB服务器的正确主机名/IP地址。
我注意到默认情况下,LocalDB服务器总是在启动时创建一个名为MSSQLLocalDB的实例。我在互联网上搜索过,但在Navicat高级软件中找不到我的问题的确切解决方案。
下面是我遇到的错误:
我只安装了LocalDB服务器。它不是Server本机客户端吗?我不想同时安装LocalDB服务器和,因为我不需要版本。
安装Server 2016时将安装本机客户端11.0。没有Server 2016本机客户端。
我正在使用最新的Server 2016 LocalDB。我相信下载链接是用于Server 2012的。我使用的是SQL Server 2016,它不需要本地客户端。
在尝试了更多之后,我能够在一个新的错误上登陆,如下面的第二个图像文件所示。我确信实例名是正确的,正如您在图像中看到的那样:
发布于 2017-03-07 16:54:51
纳维卡特是否与LocalDB安装在同一台计算机上?LocalDB不允许远程连接。
假设Navicat安装在同一台计算机上: Navicat是服务还是桌面应用程序?默认情况下,LocalDB作为只有您的登录才能看到的私有用户进程运行(您正在运行的桌面应用程序没有问题)。如果您希望其他人(如服务)能够访问您的LocalDB实例,则需要使用sqllocaldb.exe
命令行实用程序来共享它。
还有#1:(localhost)\MSSQLLocalDB
不是一个有效的语法。指定(localdb)\InstanceName
的原因是它的(localdb)\
部分是底层连接库理解并传递到LocalDB库的特殊语法(这是特殊的,因为它可以通过尝试使用该语法连接到LocalDB实例来自动启动该实例)。
还有#2:是一个连接库(ODBC是另一种类型的连接库),Navicat正在使用它连接到Server。如果Navicat说您需要安装Server本机客户端,那么您需要从Microsoft下载它。是的,它的最后一个版本是用于Server 2012。但是如果Navicat需要它,那么你就需要它。
现在看来,Navicat Premium是一个桌面应用程序,所以您可能不需要担心共享实例,除非有其他用户登录到您的计算机上,您希望能够访问这个实例。但就目前而言,我认为只有你在使用它。考虑到LocalDB并不是一个服务,因此并不总是在运行,并且可以通过尝试连接到(localdb)\something
自动启动,应该理解LocalDB实例需要几秒钟才能启动。它所需的时间要比默认的连接超时时间长,至少在(SSMS)中是这样。因此,在最初连接时,预期会得到超时错误,因此立即尝试再次连接。如果您等待太长时间(几分钟)尝试再次连接,您将再次获得超时,因为实例将自动关闭后,几分钟没有连接。
因此,同样地,假设LocalDB和Navicat都运行在同一台计算机上,并且使用相同的Windows,请尝试连接到(localdb)\MSSQLLocalDB
。当您获得连接超时错误时,立即再次尝试连接。如果它不起作用,那么其他的事情就不对劲了。
https://dba.stackexchange.com/questions/166447
复制相似问题