来自c#.net 3.5的Localdb连接

时间:2014-07-02 09:29:46

标签: c# .net sql-server localdb

我们在.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)

     
     

如需帮助,请点击:http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=-1&LinkId=20476

     
     

错误号码:-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,并且在查看属性时服务器名也是可见的。

更新2:

阅读推荐的(参见评论)post,有更多的人可以使用.NET3.5编译的程序进行连接。我还发现很多帖子都说.net 4.0.3是必需的。由于Windows 7默认安装.net 4.5,我认为满足.net 4.0.3要求是否正确?

更新3:###

2014-12-22:同时该产品已经在多台(用户)PC上进行了测试。在大多数PC上,它的功能与我希望的功能相同。用户可以使用“(localdb)\ v11.0”连接字符串进行连接。即使未安装Visual Studio 2012也是如此。

是否可以从Microsoft的可选更新修复此问题?如果是这样,哪一个?

1 个答案:

答案 0 :(得分:0)

看起来它固定在.Net 3.5中,但只有安装了Visual Studio 2012。 http://support.microsoft.com/kb/2664825

我在这里找到了一个单独的下载: http://thehotfixshare.net/board/index.php?showtopic=17253