将WPF应用程序连接到任何通过Advanced Installer转换的PC上的.mdf数据库

时间:2018-07-20 22:44:28

标签: wpf entity-framework localdb 3-tier advanced-installer

我在实体框架下使用SQL Server Management Studio 2014在3层(UI,BLL,DAL)体系结构上开发了WPF应用程序。

我一直在研究如何在任何PC上运行带有数据库的C#应用​​程序。我发现需要在启动之前在系统中预安装SQL Server Express和LocalDB。所以我做到了。

为了将带有数据库的C#应用​​程序转换为客户端的可执行应用程序,我使用了高级安装程序。

在处理中...

对于应用程序的最佳转换。根据论坛/教程,.mdf和.ldf文件必须位于Debug文件夹中,哪一个?,我不知道,原因是解释是在项目的单个Debug文件夹中,我的有3个Debug文件夹,在每个层上一个,通过推论,我把它放在了DAL(如图所示)中,原因是数据访问层。

链接:http://www.uploadmb.com/dw.php?id=1532126355

(路径:ReportManager> DAL> bin>调试)

.msi已成功构建。

它需要禁用(在服务中)SQL Server Management Studio以模拟客户端系统。

之后,安装了SQl Server Express 2012和LocalDb。

问题...

在使用预定义凭据登录时,它显示以下消息:

链接:http://www.uploadmb.com/dw.php?id=1532126407

链接:http://www.uploadmb.com/dw.php?id=1532126432

到目前为止,这些问题存在于连接字符串(UI和DAL层中的App.config)中。

这是交易...

这些消息的原因是,当我开始开发程序时,.msi程序是在SQL Server Management Studio 2014的连接字符串上生成的。

这意味着,我需要再次生成.msi,但要使用SQL Express / LocalDB连接来使其每次连接都安装在新PC上。

我试图弄清楚如何使用SQL Express / LocalDb创建新连接,并以某种方式使其能够识别Debug文件夹中的.mdf文件,然后正确生成.msi。

针对SQL Server Management Studio 2014的默认连接字符串(工作):

我正在尝试使用多个String来在SQL Express / LocalDB上进行匹配,并为其创建正确的连接String,但似乎没有一个人起作用。

到目前为止我所做的...

链接:http://www.uploadmb.com/dw.php?id=1532126459

第一次尝试

服务器名称:X293CA \ SQLEXPRESS 数据库名称:{LocalDB)\ MSSQLLocalDB

第二次尝试

服务器名称:np:\。\ pipe \ LOCALDB#5F9B0D95 \ tsql \ query 数据库名称:。\ SQLEXPRESS

第三次尝试

服务器名称:(localdb)\ v11.0 数据库:ReportManager.mdf

第四次尝试

服务器名称:(localdb)\ v11.0 数据库:SQLExpress

第五次尝试

服务器名称:(localdb)\ MSSQLLocalDB 数据库:\ ReportManager.mdf

你们中的任何人都可以帮我吗?

致谢

0 个答案:

没有答案