ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ sql express ผ่านอินเตอร์เฟส virtualbox โฮสต์เท่านั้น


1

ฉันได้ตั้งค่า 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 ฉันไม่แน่ใจว่าจะต้องทำอะไรต่อไป ที่จะใช้จากที่นี่

คำตอบ:


2

พอร์ตแรกของการโทรคือพยายามและกำจัดการตั้งค่าอะแดปเตอร์สำหรับโฮสต์เท่านั้น ฉันมีเพียงประสบการณ์ที่ไม่ดีในอดีต

ฉันขอแนะนำให้คุณสร้างโคลนของเครื่องเสมือนที่เป็นปัญหาเปลี่ยนเครือข่ายทั้งสองของเครื่อง windows เป็น bridged (เพื่อให้พวกเขาสามารถเชื่อมต่อกับ LAN ทางกายภาพของคุณ) แล้วเริ่มต้นพวกเขาทั้งสองขึ้นและดูว่าพวกเขาสามารถสื่อสารกับแต่ละ อื่น ๆ (ปิงจากที่หนึ่งไปอีกอันหนึ่งอาจลองแชร์และเข้าถึงโฟลเดอร์เครือข่าย)

นี่คือการทดสอบอย่างง่าย ๆ ที่ฉันมักจะทำเมื่อมีปัญหาที่คล้ายกันเนื่องจากจะกำจัดระบบปฏิบัติการโฮสต์ออกจากสมการเพื่อหาข้อบกพร่อง

หากเครื่อง Windows สองเครื่องสามารถสื่อสารกันให้ปิดเครื่องหนึ่งจากนั้นลอง Ubuntu อีกครั้งบน IP ใหม่ที่จัดสรรให้กับเครื่องหลังจากที่คุณเปลี่ยนอะแดปเตอร์เป็นโหมด bridged

หมายเหตุ: หากคุณไม่มีบริการ DHCP ใด ๆ เช่นเราเตอร์ที่ทำงานบน LAN ของคุณคุณจะต้องระบุที่อยู่ IP แบบคงที่สำหรับเครื่อง Windows

หวังว่าจะช่วย


ทำงานครั้งแรกบนอะแด็ปเตอร์บริดจ์
erm410

ดีใจที่ฉันช่วยได้ ;-)
Louis Parkin

หลังจากคิดอีกเล็กน้อยฉันสงสัยว่าปัญหาเริ่มต้นของคุณไม่ใช่ความผิดของอแด็ปเตอร์สำหรับโฮสต์เท่านั้น แต่เป็นปัญหาเล็กน้อยที่เกี่ยวข้องกับที่อยู่ IP ที่อยู่ในช่วงที่แตกต่างกัน IP แบบโฮสต์เท่านั้นโดยทั่วไปจะอยู่ใกล้กับช่วงที่อยู่ในช่วงเดียวกับ IP Ethernet จริงของคุณ การเพิ่มชื่อแทน IP บนเครื่องโฮสต์ของคุณอาจแก้ไขปัญหานี้ได้เช่นกัน
Louis Parkin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.