移动到另一台计算机时,c#无法连接到sql localdb

时间:2015-09-29 17:47:48

标签: c# sql-server sql-server-2008

我正在为我的工程师编写一个程序,该程序连接到MS SQL localDB。我的问题是程序在我的计算机上完美运行,但是当我将它移动到将要使用的计算机上时,程序无法连接到数据库(今天下午我有机会更新帖子)复制例外)。我在我的计算机上安装了SQL Server 2008和2014。 localDB是在2008引擎上创建的。我尝试运行它的计算机是带有SQL Server 2008 Express的Windows XP,以及.NET 4.0(.NET程序本身启动,但只有在我执行与LocalDB相关的任何事情时才会崩溃)。

我的连接字符串如下:

public const string conString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Parts.mdf;Integrated Security=True";

我也尝试过:

public const string conString = @"Data Source=DAVIDS_LAPTOP;Initial Catalog=X:\PARTS.MDF;Integrated Security=True";

如果该解决方案适用于带有SQL Server 2008 Express的Windows XP,则会非常感激,但并非绝对必要。

我已经尝试了我能想到的一切(尽管我是SQL的新手)。我也试过谷歌,但无济于事

编辑: https://www.dropbox.com/sh/v6k76jrchxf7agr/AAA1H66di5dndo19WSm-p0XZa?dl=0

1 个答案:

答案 0 :(得分:1)

问题有两个:一个是您使用的是SQL Server 2008,另一个是您使用的是Windows XP。 LocalDB是作为SQL Server 2012的一部分引入的,仅在Windows Vista SP2 / Server 2008 R2及更高版本中受支持。

无法使用2008引擎创建LocalDB,因为该版本不支持它,但您可能在SSMS中设置了兼容模式。但是,这仍然不允许LocalDB与SQL Server 2008驱动程序一起使用。

它在本地运行的原因是因为您安装了SQL Server 2014。这有驱动程序允许与LocalDB实例进行通信。

如果要使用SQL Server 2008 R2实例,则无法使用LocalDB /嵌入,并且需要连接到数据库所在的实际SQL Server [Express]实例。如果你想嵌入一个数据库而你正在使用Windows XP(而你的数据集/需求不大),你应该使用SQL Server Compact

这是一篇关于SQL Server LocalDB的要求的文章(这与2012年有关,但它与2014年几乎相同):What is LocalDB?

主要来源:http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx