ฉันกำลังพยายามเชื่อมต่อกับ SQL Server โดยใช้โปรแกรม C บน Linux
สตริงการเชื่อมต่อของฉันคือ:
DRIVER = {ไดรเวอร์ ODBC 17 สำหรับ SQL Server}; เซิร์ฟเวอร์ = 192.168.0.25,52000 ฐานข้อมูล = db; UID = ud, PWD = pw;
เมื่อฉันต้องการทดสอบการเชื่อมต่อ ฉันได้รับข้อผิดพลาดนี้:
[unixODBC][Microsoft][ODBC Driver 17 for SQL Server] การเข้าสู่ระบบล้มเหลวสำหรับ
ผู้ใช้ ''
ต้องมีบางอย่างผิดปกติกับสตริงการเชื่อมต่อ เพราะมันแสดงผู้ใช้ว่าง '' ไม่ใช่ 'ud' เหมือนในสตริงด้านบน
ดังนั้นฉันจึงพยายามเชื่อมต่อกับ:
การทดสอบ isql -v
ไฟล์ odbc.ini ของฉันคือ:
[ทดสอบ]
ไดรเวอร์ = ไดรเวอร์ ODBC 17 สำหรับ SQL Server
เซิร์ฟเวอร์ = tcp:192.168.0.25,52000
UID = อูด
PWD = พว
ฐานข้อมูล = db
น่าเสียดายที่ผลลัพธ์เหมือนกัน:
[unixODBC][Microsoft][ODBC Driver 17 for SQL Server] การเข้าสู่ระบบล้มเหลวสำหรับ
ผู้ใช้ ''
ฉันจึงตัดสินใจเชื่อมต่อกับ
isql -v ทดสอบ ud "pw"
และตอนนี้ฉันก็เชื่อมต่อได้แล้ว เกิดอะไรขึ้นกับไฟล์ string/odbc.ini การเชื่อมต่อของฉัน ฉันอ่านบทช่วยสอนมากมายและดูเหมือนว่าจะโอเค แต่ดูเหมือนว่า UID และ PWD จะถูกละเว้น
แก้ไข.
ตกลง ฉันได้เรียนรู้ว่าคุณไม่สามารถส่งชื่อผู้ใช้และรหัสผ่านด้วย odbc.ini ได้ แต่คำถามเริ่มต้นว่าทำไมมันถึงใช้งานไม่ได้กับสตริงการเชื่อมต่อภายในโปรแกรม C ของฉันยังคงมีอยู่