在另一台计算机上运行我的WinForms数据库应用程序

问题描述:

我创建了一个Win Form应用程序,它添加,更新和删除数据库中的记录。我的应用程序是使用.Net 4.5在VS 2015中构建的,它使用SQL Server 2012数据库存储记录。我必须在另一台没有VS和SQL Server的PC上运行这个应用程序。怎么做?在另一台计算机上运行我的WinForms数据库应用程序

我有我的项目在bin文件夹的exe文件。所以如果我在另一台PC上运行这个exe文件,它会启动,但数据库操作不会运行,因为SQL服务器不在那里。我的问题是如何在另一台PC上运行我的项目的数据库操作?

+0

您能告诉我们您的数据的连接字符串当前是什么样子吗?如果它里面有'localhost'这样的话就会成为问题。 –

+0

制作exe文件并在制作exe文件时选择应安装在客户端/其他机器上的组件 – Mairaj

+1

您打算使用位于原始机器上的数据库吗?因为你需要在某个地方部署数据库。 – Ash

要回答这个问题,解决方案取决于您想要管理数据库的方式。

选项1:应用程序应该执行单独的机器上,但你想,数据库不能驻留在同一台机器上,并且要使用有其他系统相同的数据库。如果是这种情况,您只需更改连接字符串并提供数据库的位置即可。确保网络正常工作,并且您可以连接到该机器。

选项2:如果您希望为同一系统上的每个应用程序实例分别创建一个数据库,那么您需要在那里有一些数据库。如果你不想安装完整的SQL,你可以考虑免费版本,如express或其他一些像sqlite的文件基础数据库。

+0

问题是客户端电脑在哪里运行项目,数据库也在客户端电脑上。该项目具有存储和检索数据的数据库部分。我想知道如果我只是在客户端PC上安装Sql Express Local DB,我的应用程序是否会开始在客户端PC上运行。 ? – yogihosting

+0

@yogihosting - 是的,它会工作,只要你不需要完整的SQL服务器的功能,这是最有可能的,你不需要。 Sql Express本身就是一个非常强大的数据库。确保你在连接到你的sql express数据库的应用程序中提供了正确的连接。 – Yogi

+0

感谢有关连接字符串的信息。我建议只提供我的应用程序安装程序给客户端(通过VS发布),并告诉他在他的系统中安装SQL本地数据库。所以我想询问客户端何时启动安装程序,安装程序是否会自动生成(我的应用程序的)数据库?或者数据库将不得不在客户端PC中手动创建? – yogihosting

如果两个系统都连接在同一个网络,你正在尝试连接,那么你必须在两个系统上的SQL Server,因为据我所知,SQL Server使用它浏览器服务连接到另一个SQL Server实例。

另一种选择是将数据库上传到Web服务器并将您的应用程序连接到Web数据库。 只需将数据库上传到服务器并更改连接字符串即可。

希望这会帮助你。

您的应用程序必须适应环境,即。连接字符串不能被硬编码。关于在配置文件中存储连接字符串,请参阅此文章https://msdn.microsoft.com/en-us/library/ms254494(v=vs.110).aspx。 为了帮助用户为她的环境创建正确的连接字符串,您可以在您的应用中包含数据连接对话框,请参阅Display a ConnectionString dialog