【发布时间】:2019-11-10 11:28:38
【问题描述】:
我正在尝试创建的此应用程序,其“实例/副本”将安装在客户端的多台 PC 上,并且能够从同一客户端的另一台 PC 访问同一数据库,该客户端始终运行 SQL Server通过相同的网络(即:它们具有相同的路由器和服务器的静态 IP 等)。
我有两种方法可以做到这一点:
- 通过同步使应用程序使用同一个数据库。
- 拥有多个本地数据库,然后共享数据库服务器的更改。
按照第一种方式,
我尝试设置连接字符串,如:
SqlConnection con = new SqlConnection("Data Source =[serverPcIP,Port];Integrated Security=True;Connect Timeout=30");
SqlConnection con = new SqlConnection("SERVER=[serverPcIP]; Port=[portno];Integrated Security=True;Connect Timeout=30");
在服务器 - 安全设置中: 我已允许“SQL Server 和 Windows 身份验证模式”
在 Sql Server 配置管理器 > SQL Server 网络配置 > SQLEXPRESS 的协议 => TCP/IP = 已启用;在 IP 地址 -> IP1 -> TCP 端口 = 1433(我在连接字符串中使用的端口)
在高级防火墙设置中:
已启用端口 1433 的传入和传出规则。
我得到的异常:
其他信息:在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:TCP Provider,错误:0 - 等待操作超时。)
谁能告诉我我缺少什么配置(连接字符串或 SQL 服务器本身)?
【问题讨论】:
-
Mr.AF 还是同样的错误,我做了什么:
Data Source=192.168.0.107,1433\\SQLEXPRESS; -
sql server agent 可能被关闭了
-
当您解决连接问题时,我感觉您会遇到集成安全问题。这些桌面是域的成员吗?您是否为登录名和用户配置了数据库安全性?安装sqlexpress的账号不会有问题,其他账号默认会。
标签: c# sql-server sql-server-2012-express database-connectivity sql-server-config-manager