问题描述
我用它的数据库制作了一个Windows窗体应用程序,我想发布它。该应用程序在我的系统中运行良好,但是当我在另一台PC上运行该应用程序时,显示有关无法连接到其数据库的错误。 我也将数据库mdf和ldf文件放在程序文件夹中,但是我的应用程序无法正常工作。
这是我的连接字符串:
string connectionSt = "Data Source=DESKTOP-NLKJ55F;Initial Catalog=IndustryContracts;Integrated Security=True";
解决方法
这是人们学习如何使用数据库开发应用程序的常见错误。
基本上:您的方法有误。实际上,并不是要在安装程序的每台计算机上都创建一个数据库。而是,数据库的理想用例是在服务器中创建的用例,任何需要使用该数据库的应用程序都将通过某种协议(如TCP)简单地连接到该数据库。这有助于封装,并使您的应用程序更紧凑。
因此,通常在程序需要读写数据以保存到某处时,人们通常会采用诸如写入CSV文件或制表符分隔文件,然后从这些文件中读取之类的方法。
还有另一个选择,就是使用无服务器的数据库,例如SQLite,但这意味着您需要学习如何实现所述数据库。
最后,作为一种真正不受欢迎的方法,以及一种“蛮力”方法,您可以复制数据库创建脚本,在目标计算机中安装DBMS,运行该脚本以创建数据库,然后更改程序中数据库的连接字符串以匹配新创建的实例,然后安装程序。看到那有多么笨拙?
请记住:大多数数据库都在服务器上运行,即使该服务器是您的PC,因此为什么将它们称为实例。自然,不应在每次安装程序时都复制服务器。