我编写了一个程序来跟踪Visual Studio中Windows窗体应用程序中员工的记录。我使用SQL Server 2017 Express进行数据存储。我的SqlConnection
语句使用localhost和SQL Server身份验证,我需要知道如何让多台计算机同步到一个数据库,没有互联网,但计算机共享一个服务器,他们可以在里面存储文件和所有计算机可以访问它,我读到人们在SqlConnection
语句中输入主计算机的IP地址,但我不知道这是如何工作的。
这是我目前的SqlConnection
声明
new sqlConnection(@"Data source = localhost\sqlexpress; Initial catalog = database;user id =sa;password = 1234; integrated security = false")
该程序将安装在多台计算机上供人们使用
首先,您必须使用主机名或使用sql server hosting pc的ip更改localhost。这将是一件事
new sqlConnection(@"Data source = mySqlServerPcName\sqlexpress; Initial catalog = database;user id =sa;password = 1234; integrated security = false")
那么你必须在托管pc上的sql server配置管理器上启用tcp / ip。
打开SQL Server配置管理器
然后转到SQL Server网络配置并单击SQLEXPRESS的协议。然后您将看到TCP / IP已禁用。双击TCP / IP并选择“是”以启用。单击确定,您将收到以下消息
按确定,然后单击左侧的SQL Server服务。右键单击SQL Server(SQLEXPRESS)并选择restart。现在您的SQL Server已准备就绪。
现在,您要做的最后一件事是打开防火墙上的sql端口。打开命令行并运行以下命令
netsh advfirewall firewall add rule name = SQLPort dir = in protocol = tcp action = allow localport = 1433 remoteip = localsubnet profile = DOMAIN
现在您已准备好从其他计算机连接到数据库。
确保可以从您希望应用程序工作的所有计算机访问计算机上的sql server。您也可能必须在防火墙中打开ports used by sql服务器。然后,您可以更新connection string以连接到sql实例。
注意:对store connection string in a configuration file而不是在代码中这是一个好主意。