Tôi đã dành một thời gian dài hôm nay để gỡ lỗi một vấn đề tương tự. Tôi đã đặt "phiên bản TDS" trong freetds.conf nhưng nó không được sử dụng trong kết nối ODBC của tôi. Sau khi đọc mã nguồn freetds (connectparams.c:odbc_parse_connect_string), tôi phát hiện ra rằng:
- Nếu chuỗi kết nối của bạn sử dụng "SERVER =" thì cả freetds.conf và odbc.ini đều bị bỏ qua
- Nếu chuỗi kết nối của bạn sử dụng "SERVERNAME =" thì cài đặt trong máy chủ freetds.conf thích hợp sẽ được sử dụng
- Nếu chuỗi kết nối của bạn sử dụng "DSN =" thì cài đặt trong odbc.ini DSN thích hợp sẽ được sử dụng
odbcinst.ini là một loài cá trích đỏ. FreeTDS không bao giờ kiểm tra cài đặt đó.
Cài đặt bạn chỉ định trong chuỗi kết nối luôn được tôn trọng. Nó cũng luôn tôn trọng các biến môi trường như TDSVER.