簡體   English   中英

為什么我無法通過其公共IP將網站連接到另一台計算機上托管的SQL Server數據庫

[英]Why can't I connect my website to a SQL Server database hosted on another computer via its public ip

我在共享服務器上托管了一個網站,並且在服務器上進行了設置以允許遠程連接,並且還打開了允許遠程連接的功能。

我也關閉了防火牆。

我可以通過靜態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; 

還有什么可能是錯的?

您可能需要打開程序,而不是(簡單地)打開端口

http://technet.microsoft.com/zh-CN/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/zh-cn/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? 再說一遍,您可能必須對連接字符串中的IP地址使用內部IP(一個真實的IP,而不僅僅是127.0.0.1)。

如果您也可能遇到此問題,請及時更新。

我的網站由hostgator托管為共享主機,他們聲稱為了安全起見,它們僅允許通過端口1433(這是sql的默認端口)來完成sql的流量...希望這對以后有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM