Tôi đang cố gắng kết nối với SQL Server bằng chương trình C trên Linux.
Chuỗi kết nối của tôi là thế này:
ĐIỀU KHIỂN = {Trình điều khiển ODBC 17 cho SQL Server}; Máy chủ = 192.168.0.25,52000;Cơ sở dữ liệu = db; UID = ud, NKT = pw;
Khi tôi muốn thực hiện kết nối thử nghiệm, tôi gặp lỗi này:
[unixODBC][Microsoft][ODBC Driver 17 cho SQL Server]Đăng nhập không thành công cho
người dùng ''
Có điều gì đó không ổn với chuỗi kết nối vì nó hiển thị người dùng trống '', không phải 'ud' như trong chuỗi trên.
Vì vậy, tôi đã cố gắng kết nối với:
kiểm tra isql -v
Tệp odbc.ini của tôi là:
[kiểm tra]
Trình điều khiển = Trình điều khiển ODBC 17 cho SQL Server
Máy chủ = tcp:192.168.0.25,52000
UID = ud
NKT = pw
Cơ sở dữ liệu = db
Thật không may, kết quả là như nhau:
[unixODBC][Microsoft][ODBC Driver 17 cho SQL Server]Đăng nhập không thành công cho
người dùng ''
Vì vậy, tôi quyết định kết nối với
isql -v kiểm tra ud "pw"
Và bây giờ tôi cuối cùng đã kết nối. Có gì sai với chuỗi kết nối/tệp odbc.ini của tôi? Tôi đã đọc nhiều hướng dẫn và chúng có vẻ ổn. Nhưng bằng cách nào đó UID và NKT dường như bị bỏ qua.
CHỈNH SỬA.
Ok, tôi đã biết rằng bạn không thể chuyển tên người dùng và mật khẩu bằng odbc.ini nhưng câu hỏi ban đầu tại sao nó không hoạt động với chuỗi kết nối bên trong chương trình C của tôi vẫn tồn tại.