连接到本地SQL Server数据库文件

时间:2017-11-02 19:05:31

标签: c# localdb

我有一个连接到本地SQL Server数据库文件(.mdf)的WPF应用程序。我正在使用实体框架。

连接字符串是:

Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\db_SmartPOS.mdf;Integrated Security=True

目录更改为以下内容:

string doc = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
AppDomain.CurrentDomain.SetData("DataDirectory", doc + @"\SmartPOS\");

我已将.mdf个文件手动复制到指定的目录,对其进行了测试,一切都在安装了SQL Server 2014的主机上运行良好。

现在我正在将应用程序部署到另一台安装了SQLLocalDB的PC。但是,每当我尝试连接到数据库时,我都会遇到此异常:

  

System.Data.EntityException。底层提供商未能打开 - > Sysmte.Data.SqlClient.SqlException .....指定的本地数据库实例不存在。

.mdf和日志文件放在上面指定的目录中。我还尝试将它们复制到安装应用程序的目录。

我想知道我错过了什么?

1 个答案:

答案 0 :(得分:0)

所以这里是如何运作的。

首先,我在网上找到一篇文章,指出SQL 2014中的连接字符串与SQL 2012中的连接字符串不同,因此2014年使用的Data Source =(LocalDB)\ MSSQLLocalDB应该切换到Data Source =(LocalDB) )\ V11.0。如果使用Entity框架,则应该在连接字符串设置和app.config中完成。

完成此操作后,我在另一个系统上测试了它,并且异常错误已更改。这次应用程序能够连接,但版本有问题,我无法访问它。

我下载了SQL Server 2014 localdb引擎并取代了2012,一切正常!

希望这会帮助某人