我有一个连接到本地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
和日志文件放在上面指定的目录中。我还尝试将它们复制到安装应用程序的目录。
我想知道我错过了什么?
答案 0 :(得分:0)
所以这里是如何运作的。
首先,我在网上找到一篇文章,指出SQL 2014中的连接字符串与SQL 2012中的连接字符串不同,因此2014年使用的Data Source =(LocalDB)\ MSSQLLocalDB应该切换到Data Source =(LocalDB) )\ V11.0。如果使用Entity框架,则应该在连接字符串设置和app.config中完成。
完成此操作后,我在另一个系统上测试了它,并且异常错误已更改。这次应用程序能够连接,但版本有问题,我无法访问它。
我下载了SQL Server 2014 localdb引擎并取代了2012,一切正常!
希望这会帮助某人