Tôi cố gắng để kết nối với cơ sở dữ liệu MS SQL sử dụng freetds và unixodbc . Tôi đã đọc các hướng dẫn khác nhau để làm điều đó, nhưng không ai làm việc tốt cho tôi. Khi tôi cố gắng kết nối với cơ sở dữ liệu bằng công cụ isql , tôi gặp lỗi sau:
$ isql -v TS username password
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect
Đã ai đã thiết lập thành công kết nối đến cơ sở dữ liệu MS SQL sử dụng freetds và unixodbc trên Ubuntu 12.04? Tôi thực sự sẽ đánh giá cao sự giúp đỡ.
Dưới đây là thủ tục tôi đã sử dụng để cấu hình các freetds và unixodbc . Cảm ơn vì sự giúp đỡ của bạn trước đó!
Thủ tục
Đầu tiên, tôi đã cài đặt các gói sau với:
sudo apt-get install unixodbc unixodbc-dev freetds-dev tdsodbc
và cấu hình freetds như sau:
--- /etc/freetds/freetds.conf ---
[TS]
host = SERVER
port = 1433
tds version = 7.0
client charset = UTF-8
Sử dụng công cụ tsql Tôi có thể kết nối thành công với cơ sở dữ liệu bằng cách thực thi
tsql -S TS -U username -P password
Khi tôi cần kết nối odbc, tôi đã cấu hình odbcinst.ini như sau:
--- /etc/odbcinst.ini ---
[FreeTDS]
Description = FreeTDS
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
FileUsage = 1
CPTimeout =
CPResuse =
client charset = utf-8
và odbc.ini như sau:
--- /etc/odbc.ini ---
[TS]
Description = "test"
Driver = FreeTDS
Servername = SERVER
Server = SERVER
Port = 1433
Database = DBNAME
Trace = No
Cố gắng kết nối với cơ sở dữ liệu bằng công cụ isql với cấu hình như vậy sẽ xảy ra lỗi sau:
$ isql -v TS username password
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect
tsql
:sudo apt-get install freetds-bin