2

我有一个我正在为使用 SQL Server Express 数据库的朋友创建的 WinForms 程序。在本地,我可以很好地连接到我的 SQL Server Express,当我将应用程序部署到他的计算机上时,它也可以正常工作。我很难从我的机器连接到他的 SQL Server Express 实例(我试图在 vs2012 中以调试模式运行程序,但连接到他的数据库)。该程序使用实体框架以防万一(我认为不重要)。

我们已经设置了他的防火墙,以允许我的 IP 地址访问他的计算机和他的 SQL Server ......所以我可以通过远程桌面登录,我也可以使用 SSMS 从我的电脑连接并查看所有数据库......但是为什么我无法使用 vs2012 连接?我认为它与连接字符串有关,但尚未找到可行的解决方案。

这是我尝试过的:

ConnectionStrings.com获得这些:

Server=100.100.100.100\SQLExpress;Database=TestDB;User Id=UserID;Password=myPassword;

DataSource=100.100.100.100\SQLExpress;Database=TestDB;User Id=UserID;Password=myPassword;

显然,为了这篇文章的目的,IP 地址已经改变。

有任何想法吗?

4

2 回答 2

1

以下是您需要在另一台计算机上检查的事项列表:

  • 是否启用了 TCP/IP 协议?转到 SQL Server 配置管理器 -> SQL Server 网络配置 -> {instance} 的协议
  • 在配置管理器中启用了哪些 IP 地址进行侦听?转到 TCP/IP 属性 -> IP 地址选项卡
  • SQL Server 浏览器已启动
  • 防火墙设置正确——您希望在端口 1433 上启用 TCP 和 UDP 流量
  • 服务器允许远程连接?在 SSMS 中打开该实例的属性并检查连接选项卡。
于 2013-07-31T09:12:31.963 回答
1

您已经使用了连接字符串属性:

DataSource

没有这样的东西,我怀疑这只是一个错字(使用剪切和粘贴而不是转录是值得的)。该属性中实际上有一个空格,所以它应该是:

Data Source
于 2013-07-31T17:24:21.870 回答