所以我在家用电脑上运行SQL Server [THOR]。
我有一个启动的程序,然后列出它可以找到的SQL服务器。
我正在使用名为" SQLInfoEnumerator"的代码。我在另一个论坛上找到了。
在服务器(THOR)上,它列出(本地)仅作为服务器(正确)
所以我使用这个列出的项目并将其插入到这个字符串中:
string lotsconstring = "Data Source=" + SQLServer + ";Database=" + "lots" + ";Integrated Security=False;User ID=sa;Password=XXXXXXX";
现在,当我在家用电脑上运行时,它可以工作,并建立连接。
当我在通过WIFI连接的笔记本电脑上运行时,它会找到:
\\THOR\SQLEXPRESS
并且连接失败。
现在为了测试这在其他情况下是否有效的想法,我安装的程序是由朋友拥有的公司。
Master =" SERVER"
它找到了:\\SERVER\SQLEXPRESS
和连接工作!
总之;
程序查找列表 列表条目适用于我的服务器 列表条目适用于连接到实际业务网络中的服务器的客户端 列表条目DOESNT适用于连接到服务器的家庭网络上的客户端PC ..
我可以尝试或测试以找出连接无效的原因吗?
编辑:
另外,我刚试过家用服务器和只有"Data Source = THOR"
的笔记本电脑
它有效!
所以回家:只是PC名称有效,实例失败了 在工作:PC名称失败并且实例有效!
编辑2: 失败连接的异常代码(尝试con.open())
发生与网络相关或特定于实例的错误 建立与SQL Server的连接。找不到服务器或 无法访问。验证实例名称是否正确 SQL Server配置为允许远程连接。 (提供者:SQL 网络接口,错误:25 - 连接字符串无效)
如上所述,如果我只使用THOR而不是\\THOR\SQLEXPRESS
它可以工作,所以它不应该是不允许远程连接的问题
测试:
THOR
=同时适用于
THOR\SQLEXPRESS
=在笔记本电脑上失败
THOR\\SQLEXPRESS
=两者都失败