如何让多台计算机共享服务器上的单个数据库?

时间:2019-04-16 04:33:30

标签: c# winforms

我编写了一个程序,用于在Visual Studio的Windows Forms应用程序中跟踪员工的记录。我正在使用SQL Server 2017 Express进行数据存储。我的SqlConnection语句使用本地主机和SQL Server身份验证,我需要知道如何让多台计算机同步到单个数据库,没有互联网,但计算机共享一个可以存储文件的服务器在内部,所有计算机都可以访问它,我读到某个地方,人们在SqlConnection语句中输入了主机的IP地址,但不确定如何运行。

这是我目前的SqlConnection声明

new sqlConnection(@"Data source = localhost\sqlexpress; Initial catalog = database;user id =sa;password = 1234; integrated security = false")

该程序将安装在多台计算机上,供人们使用

2 个答案:

答案 0 :(得分:1)

首先,您必须使用主机名或托管pc的sql服务器的ip更改localhost。 将会是

new sqlConnection(@"Data source = mySqlServerPcName\sqlexpress; Initial catalog = database;user id =sa;password = 1234; integrated security = false")

然后,您必须在托管PC上的sql server Configuration Manager上启用tcp / ip。

打开sql服务器配置管理器

sql server Configuration Manager

然后转到“ SQL Server网络配置”,然后单击“ SQLEXPRESS协议”。 然后您将看到TCP / IP被禁用。双击TCP / IP并选择“是”以启用。单击确定,您将收到以下消息

Warning message

按OK,然后单击左侧的SQL Server Services。右键单击SQL Server(SQLEXPRESS),然后选择重新启动。 现在您的SQL Server已准备就绪。

现在,您要做的最后一件事是打开防火墙上的sql端口。 打开命令行并运行以下命令

netsh advfirewall firewall add rule name = SQLPort dir = in protocol = tcp action = allow localport = 1433 remoteip = localsubnet profile = DOMAIN

现在您可以从其他计算机连接到数据库了。

答案 1 :(得分:0)

请确保您打算使该应用程序运行的所有计算机都可以访问该计算机上的sql服务器。您可能还需要在防火墙中打开ports used by sql服务器。然后,您可以更新connection string以连接到sql实例。

注意:store connection string in a configuration file可能比代码中的代码好。