【问题标题】:Connection string C# Entity Framework SQL Server Express连接字符串 C# Entity Framework SQL Server Express
【发布时间】:2016-09-05 13:31:10
【问题描述】:

我将 C# WPF EF6.0 和 SQL Server Express 用于最终程序。

我使用高级安装程序创建了一个安装文件,该安装程序通过脚本和 SQL Server Express 在中创建数据库

C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA

我已经改变了我的字符串连接

<add name="MyDBEntities" 
     connectionString="metadata=res://*/MyDBModel.csdl|res://*/MyDBModel.ssdl|res://*/MyDBModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(LocalDB)\v11.0;attachdbfilename=|DataDirectory|\MyDB.mdf;integrated security=True;connect timeout=30;MultipleActiveResultSets=True;App=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" />

到这里

<add name="MyDBEntities" 
     connectionString="metadata=res://*/MyDBModel.csdl|
                       res://*/MyDBModel.ssdl|
                       res://*/MyDBModel.msl;
                       provider=System.Data.SqlClient;
                       provider connection string=&quot;
                             Data source=.\SQLExpress;
                             integrated security=True;
                             MultipleActiveResultSets=True;
                             Initial Catalog=MyDB;
                             App=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" />  

我已经安装了我在 Visual Studio 2013 中使用的 .net Framework 4.5 和 SQL Server 2012 sp1 v11.0.300

当我安装我的程序时,一切正常,但是当我运行我的程序时,它在第一次启动时停止工作。我认为连接字符串有问题。 如果我在 Visual Studio 中单击调试,我会看到此错误

EntityFramework.dll 中出现“System.InvalidOperationException”类型的未处理异常。附加信息:在应用程序配置文件中找不到名为“MyDBEntities”的连接字符串。

【问题讨论】:

  • 你有什么错误吗..
  • 不只是停止工作
  • 如果我在视觉中单击调试会显示此错误。=>EntityFramework.dll 中发生“System.InvalidOperationException”类型的未处理异常。附加信息:在中找不到名为“MyDBEntities”的连接字符串应用程序配置文件。

标签: c# installation connection-string advanced-installer


【解决方案1】:

原因是您没有将数据库文件附加到本地数据库引擎。尝试使用可用的适当 SQL Server 方法。您的应用程序(安装后)在本地数据库引擎中找不到数据库。

【讨论】:

  • 实际上您正在使用安装过程,因此您似乎希望您的应用程序具有可移植性,因此您不应该使用绝对路径。关于提到的属性,我想你应该看看connectionstrings.com/sql-server-2012
  • 您是否将数据库文件包含在安装程序文件夹中?
  • 逻辑上不工作,去你的 sql server 分离数据库,将文件复制到具有足够权限的单独文件夹中,然后将 db 数据和日志文件包含在安装文件夹中。
  • 他们有没有在安装中附加数据库?
【解决方案2】:

最后我无法使用Advanced Installer 创建安装文件。 但我是由Install Shield 创建的。 我的问题是从数据库中插入、删除或编辑。 我将我的程序安装在其他驱动器中,我的问题解决了。 原因是一个笑话,C 中的程序文​​件是readonly

【讨论】:

    猜你喜欢
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多