2013-07-31 144 views
2

我有一个WinForms程序我创造了我的一个朋友说,使用SQL Server Express数据库。在本地,我可以连接到我的SQL Server Express,当我将应用程序部署到他的计算机时,它也可以工作。我很难从我的机器连接到他的SQL Server Express实例(我试图在vs2012中以调试模式运行程序,但连接到他的数据库)。该程序使用实体框架,以防事件发生(我不认为它确实如此)。远程计算机上SQL Server Express的连接字符串?

我们已经设置了防火墙,允许我的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地址已更改为这个职位的目的。

任何想法?

+0

你是怎么意思设置防火墙的?您在同一网络上或通过NAT设备(路由器)连接到他的计算机? –

+0

哦,这些连接字符串是什么? EF创建TSQL脚本时,大公是在项目的app.config文件为您创建自定义字符串 –

+0

他“设置”防火墙,这样我可以连接到自己的电脑,同时在不同的网络(NAT设备)。第一个连接字符串是EF生成的(但是我在本地生成它,而不是使用他的IP地址),所以我认为我只需更改IP地址即可,但不幸的是情况并非如此。 – Robert

回答

1

你使用的连接字符串属性:

DataSource 

有没有这样的事情,我怀疑这只是一个错字(它支付使用剪切和粘贴,而不是转换)。这个属性实际上有一个空格,所以它应该是:

Data Source 
+1

谢谢Aaron ...隧道视觉有时是可怕的:) – Robert

1

下面是你需要检查其他计算机上的事情的清单:

  • 启用TCP/IP协议?转到SQL Server配置管理器 - > SQL Server网络配置 - >关于{}如协议
  • 在配置管理器监听启用哪些IP地址?进入TCP/IP属性 - > IP地址选项卡
  • SQL Server浏览器启动
  • 防火墙设置不当 - 要启用TCP和UDP流量端口1433
  • 服务器允许远程连接?在SSMS打开该实例的属性并检查Connections选项卡。