我们在.net 3.5中创建了一个Windows应用程序。当我在我的开发机器(安装的应用程序,而不是VS)上运行它时,我可以使用servername:(localdb)\v11.0
连接到本地数据库数据库服务器。在客户端的计算机上启动时,使用此服务器名称时会出现异常。当我使用命名管道服务器名称时,我可以连接和查询数据库。
在我的开发机器上,我也可以从SSMS(Express)2008 R2 SP2连接到(localdb)\v11.0
。这也不适用于客户端的计算机。
任何人都知道客户端机器上缺少什么并安装在我的开发机器上?
SSMS的错误消息:
无法连接到(localdb)\ v11.0。
Er een netwerkfout of een exemplaarspecifieke fout opgetreden tijdens het maken van verbinding met SQL Server。 De server是niet gevonden,是niet toegankelijk。 de exemplaarnaam的控制者是de instellingen van SQL Server externe verbindingen zijn toegestaan的en。 (提供者:SQL-netwerkinterfaces,错误:26 - Fout bij zoeken van opgegeven server / exemplaar)(。Net SqlClient Data Provider)
错误号码:-1 严重程度:20 州:0
从management studio 2008 R2 SP2执行以下查询时:
SELECT net_transport FROM sys.dm_exec_connections WHERE session_id = @@ SPID;
结果: 命名管道
所以SSMS知道使用命名管道连接到(localdb)\ v11.0。检查属性时,命名管道名称也存在,并以某种方式检索。
正常的SQL-Servers(本地sqlexpress)在运行相同的查询时返回TCP,并且在查看属性时服务器名也是可见的。
阅读推荐的(参见评论)post,有更多的人可以使用.NET3.5编译的程序进行连接。我还发现很多帖子都说.net 4.0.3是必需的。由于Windows 7默认安装.net 4.5,我认为满足.net 4.0.3要求是否正确?
2014-12-22:同时该产品已经在多台(用户)PC上进行了测试。在大多数PC上,它的功能与我希望的功能相同。用户可以使用“(localdb)\ v11.0”连接字符串进行连接。即使未安装Visual Studio 2012也是如此。
是否可以从Microsoft的可选更新修复此问题?如果是这样,哪一个?
答案 0 :(得分:0)
看起来它固定在.Net 3.5中,但只有安装了Visual Studio 2012。 http://support.microsoft.com/kb/2664825
我在这里找到了一个单独的下载: http://thehotfixshare.net/board/index.php?showtopic=17253