我有一个托管在共享服务器上的网站,我在服务器上设置了允许远程连接,并且还打开了允许远程连接。
此外,我已关闭防火墙。
我能够通过我们的静态IP和端口从不在我们网络上的不同计算机上从SQL Server Management Studio登录到我的SQL Server,以及当我在本地主机上运行我的网站时,
但是当我将我们的网站发布到我们的托管服务器时,它将无法连接到我们的数据库并返回错误:
[Win32Exception(0x80004005):尝试以其访问权限禁止的方式访问套接字] [SqlException(0x80131904):建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:TCP提供者,错误:0 - 试图以其访问权限禁止的方式访问套接字。)]
这是我们的连接字符串
Data Source=000.000.00.00,12341;Integrated Security=False;
User ID=myUserNmae;password=myPassword;Initial Catalog=dBaseName;
这里还有什么可能是错的?
答案 0 :(得分:0)
您可能需要打开程序,而不是(简单地)打开端口
http://technet.microsoft.com/en-us/library/cc646023.aspx
To add a program exception to the firewall using the Windows Firewall item in Control Panel.
On the Exceptions tab of the Windows Firewall item in Control Panel, click Add a program.
Browse to the location of the instance of SQL Server that you want to allow through the firewall, for example C:\Program Files\Microsoft SQL Server\MSSQL11.<instance_name>\MSSQL\Binn, select sqlservr.exe, and then click Open.
Click OK.
您需要特别阅读“动态端口”
http://technet.microsoft.com/en-us/library/cc646023.aspx#BKMK_dynamic_ports
你可以尝试:
Data Source=127.0.0.1,12341;Integrated Security=False;
User ID=myUserNmae;password=myPassword;Initial Catalog=dBaseName;
机器是否有内部和外部IP? Aka,您可能必须使用内部IP(实际的,而不仅仅是127.0.0.1)作为连接字符串中的IP地址。
答案 1 :(得分:0)
如果您也可能遇到此问题,请全部更新。
我的网站由hostgator作为共享主机托管,他们声称为了安全起见,他们只允许通过端口1433进行sql流量,这是sql的默认端口... 希望这能帮助将来的某个人