连接LINQPad到远程SQL Server

14

免责声明:我知道这个问题非常基础,但是我在谷歌和这里找不到答案,也无法通过猜测的配置自行完成。

我想开始使用LINQPad,并且我已经安装了SQL Server 2005在同一域中的不同机器上。但是我无法从LINQPad连接到该服务器。

以下是屏幕截图:
Fail to connect

作为服务器字符串,我应该输入什么?

提前感谢!

更新1: SERVERNAME\MSSQLSERVER确实有所不同。而不是错误

26(找不到服务器实例)

我得到错误

25(连接字符串不正确)

我尝试了2个不同的SQL服务器:生产服务器上的SQL 2005和本地计算机上的Sql Server 2008 R2,我尝试了Windows身份验证和SQL身份验证。并没有区别。 但是我可以使用MS SQL Server Management Studio使用Windows和SQL Server身份验证连接到两个服务器(2005和2008)。而且这不是SQL Server权限问题-我尝试过使用SA用户进行连接。它可以使用,但不能使用LINQPad。

有什么建议吗?我需要更改SQL Server上的设置吗?

更新2: 我找到了解决问题的方法。 在服务器字段中,我必须输入SERVERNAME\而不指定SQLEXPRESSMSSQLSERVER
不是很直观=(


恭喜你找到了解决方案!你应该将其添加为答案(并标记为答案),以便未来的人清楚明白。 - Ahmad Mageed
如果 SERVERNAME\ 可以使用,那么没有 \ 字符的 SERVERNAME 也应该可以使用。 - sgmoore
@Ahmad 当我发布答案时,我没有被允许回答我的问题。现在我一定会这样做的。 - trailmax
@sgmoore 是的,它可以工作。我只是输入了LOCALHOST,它就可以工作了。 - trailmax
2个回答

10
我找到了解决问题的方法。 在“服务器”字段中,我必须输入“SERVERNAME \”,没有任何SQLEXPRESS或MSSQLSERVER。 正如@sgmoore所指出的那样,我也可以输入“LOCALHOST”或“SERVERNAME”并连接。 显然,这是SQL Server的特性/错误,与LINQPad无关。 更新:您还可以使用“。”表示“localhost”enter image description here

1
太好了!如果你感到安慰的话,我在尝试从Mathematica连接到SQL Server时也遇到了非常相似的问题,最终只有通过Wolfram Research的全力协助才得以解决。根本问题在于,有太多的方法可以从子字符串中拼凑出连接字符串,这些子字符串是通过对话框类型字段键入或其他方式输入的。带或不带反斜杠、双反斜杠、特殊引号字符以及所有其他规则。很高兴你解决了这个问题! - Reb.Cabin

2
您需要知道您想要的计算机名称和SQL-Server实例名称。例如,我有一个名为REB602的计算机,并且要使用它上面预安装的SQLEXPRESS(许多版本的Visual Studio都带有的SQL-Server实例),那么我要输入的字符串是REB602\SQLEXPRESS或.\SQLEXPRESS。格式基本上是<computer-name>\<instance-name>。
我认为完整的SQL-Server产品的默认实例名称是MSSQLSERVER,因此如果您不知道目标计算机上实例的名称,则可以尝试该名称。
注意:由于超时,可能需要尝试几次才能建立连接。我不知道LinqPad是否允许您更改超时时间 - 我没有看到任何方法。今天早上在REB602计算机上为您测试我的答案时,我在LinqPad对话框底部执行了“测试连接”,成功了,但连接仍然超时了。我必须打开SSMS(SQL-Server Management Studio,SQL Server的IDE)来“启动”我的SQLEXPRESS实例。之后,LinqPad就像一场梦一样工作了。不要在第一次尝试失败后放弃 :)

啊!我错过了 MSSQLSERVER 中的 MS。然而,现在我遇到了不同的错误:认证错误。但这是另一个问题。我正在尝试连接到生产服务器上的开发数据库,所以它应该已经很快了 -)。谢谢! - trailmax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接