無法透過僅主機 virtualbox 介面連接到 sql server express

無法透過僅主機 virtualbox 介面連接到 sql server express

我已在 Windows 7 virtualbox 來賓中設定了 sql server express 2014,但無法使用 Ubuntu 主機上的 jTDS JDBC 驅動程式連接到它。我收到一個Could not retrieve database information錯誤。我覺得我一定在某個地方錯過了一步,但在網上找不到任何我還沒有嘗試過的東西:

  • 連接網址是jdbc:jtds:sqlserver://192.168.56.1:1433/dbo;instance=SQLEXPRESS
  • 來賓上的 Windows 防火牆已完全停用。
  • 我可以從主機 ping 訪客 IP 位址。
  • 伺服器和 SQL Browser 服務正在運行。
  • netstat -a在來賓上確認 TCP 0.0.0.0:1433 和 UDP 0.0.0.0:1434 正在偵聽。
  • 伺服器日誌說Listening on <All IPv4>:1433
  • 外圍區域設定工具啟用了 TCP/IP,並設定為偵聽連接埠 1433 上的所有 IP。
  • SSMS 確認該伺服器實例已啟用遠端存取。
  • 我可以使用僅主機 IP 位址(192.168.56.1,與上面相同)以及我透過 JDBC 使用的相同 SQL 驗證憑證從來賓上的 SSMS 連接到資料庫。
  • telnet 192.168.56.1 1433telnet 192.168.56.1:1434來自主機的命令都會立即失敗並顯示Connection refused,而來自客戶機的相同命令則不會。

在我看來,這就像一個防火牆問題,因為我似乎能夠從來賓內部的介面 IP 位址和來自 的輸出進行連接netstat,但在Windows 防火牆關閉的情況下,我不知道下一步要做什麼,甚至不知道採取什麼診斷步驟從這裡拿走。

答案1

我的第一個目標是嘗試消除僅主機適配器設定。我過去只是有過不好的經驗。

我建議您複製有問題的虛擬機,將兩台 Windows 電腦的網路類型變更為橋接(以便它們可以連接到您的實體 LAN),然後啟動它們並查看它們是否可以相互通訊其他(從一個Ping 到另一個,也許還可以嘗試共享和存取網路資料夾)。

這是我在遇到類似問題時通常執行的簡單測試,因為它從用於故障查找的等式中消除了主機作業系統。

如果兩台 Windows 電腦可以通信,請關閉其中一台,然後在將適配器變更為橋接模式後,在指派給該電腦的新 IP 上再次嘗試 Ubuntu。

注意:如果您的 LAN 上沒有執行任何類型的 DHCP 服務(例如路由器),則必須為 Windows 電腦提供靜態 IP 位址。

希望有幫助。

相關內容