“在建立与SQL Server的连接时发生与网络或特定实例相关的错误。未找到服务器或无法访问服务器。请验证实例名称是否正确,并确认SQL Server已配置为允许远程连接。”
这是我的连接字符串的样子(私人信息已更改):
"Data Source="MACHINENAME\\SQLEXPRESS";User ID="Admin";Password="the_password";Initial Catalog="MyDatabase";Integrated Security=True;Connect Timeout=120");
正如我所说的,我可以使用相同的设置在管理工具中登录:相同的用户ID、密码和数据源名称,但是当我尝试使用上述连接字符串打开连接时失败了。
注意:
我已经在服务器上启用了远程连接,禁用了防火墙,启用了与服务器的TCP/IP连接,并打开了SQL Browser。
当我在同一台机器上时,连接字符串可以正常工作。
我查找了集成安全选项,并将其设置为false,只是为了确保它没有尝试使用Windows登录,但它仍然失败了。
数据库设置允许Windows登录和数据库登录。
我将集成安全选项更改为SSPI、True和最后False,所有3个都给我带来了与上述相同的错误。
更新,这是我的精确代码(这次只删除了密码,并添加了在同一台机器上运行的管理工具的图片):
string _connectionString =
//string.Format("Server=%s;User ID=%s;Password=%s;Database=%s;Connect Timeout=120", // Same problem
//string.Format("Server=%s;User ID=%s;Password=%s;Database=%s;Integrated Security=False;Connect Timeout=120", // Same problem
string.Format("Data Source=%s;User ID=%s;Password=%s;Initial Catalog=%s;Integrated Security=False;Connect Timeout=120", // Same problem
"GANTCHEVI\\SQLEXPRESS",
"FinchAdmin",
"the_password",
"Finch");
http://s113.photobucket.com/albums/n202/ozpowermo/?action=view¤t=ManagementStudio.jpg
我想明白了:
在使用"Data Source="标签时,应该使用"User Id",如果使用"User ID",似乎会出现问题!
string _connectionString = "Data Source=GANTCHEVI\\SQLEXPRESS;Initial Catalog=Finch;Integrated Security=False;User Id=FinchAdmin;Password=the_password;Connect Timeout=0";"