ฉันได้ตั้งค่า sql server express 2014 ในแขก Virtualbox ของ Windows 7 แต่ฉันไม่สามารถเชื่อมต่อกับมันโดยใช้ไดรเวอร์ jTDS JDBC จากโฮสต์ Ubuntu ของฉัน ฉันได้รับCould not retrieve database information
ข้อผิดพลาด ฉันรู้สึกว่าฉันต้องพลาดขั้นตอนหนึ่งไปแล้ว แต่ไม่สามารถหาอะไรออนไลน์ที่ฉันยังไม่ได้ลอง:
- URL การเชื่อมต่อคือ
jdbc:jtds:sqlserver://192.168.56.1:1433/dbo;instance=SQLEXPRESS
- ไฟร์วอลล์ของ Windows ถูกปิดการใช้งานอย่างสมบูรณ์สำหรับผู้เยี่ยมชม
- ฉันสามารถ ping ที่อยู่ IP ของผู้เยี่ยมชมจากโฮสต์
- บริการเซิร์ฟเวอร์และเบราว์เซอร์ SQL กำลังทำงาน
netstat -a
บนแขกยืนยันว่ากำลังฟัง TCP 0.0.0.0:1433 และ UDP 0.0.0.0:1434- บันทึกเซิร์ฟเวอร์บอกว่า
Listening on <All IPv4>:1433
- เครื่องมือตั้งค่าคอนฟิกพื้นที่ Surface เปิดใช้งาน TCP / IP และตั้งค่าให้ฟังพอร์ต 1433 สำหรับ IP ทั้งหมด
- SSMS ยืนยันว่าเปิดใช้งานการเข้าถึงระยะไกลสำหรับอินสแตนซ์ของเซิร์ฟเวอร์นั้น
- ฉันสามารถเชื่อมต่อกับฐานข้อมูลจาก SSMS บนแขกโดยใช้ที่อยู่ IP ของโฮสต์เท่านั้น (192.168.56.1, เหมือนด้านบน) และหนังสือรับรองการตรวจสอบ SQL เดียวกันกับที่ฉันใช้มากกว่า JDBC
telnet 192.168.56.1 1433
และtelnet 192.168.56.1:1434
จากโฮสต์ทั้งสองล้มเหลวทันทีด้วยConnection refused
ในขณะที่คำสั่งเดียวกันจากแขกไม่
ฉันรู้สึกเหมือนเป็นปัญหาไฟร์วอลล์เนื่องจากดูเหมือนว่าฉันสามารถเชื่อมต่อกับที่อยู่ IP ของอินเทอร์เฟซจากภายในแขกและเอาท์พุทได้netstat
แต่เมื่อปิดไฟร์วอลล์ Windows ฉันไม่แน่ใจว่าจะต้องทำอะไรต่อไป ที่จะใช้จากที่นี่