我正在尝试使用freetds和unixodbc连接到MS SQL数据库。我已经阅读了各种指南,但没有人适合我。当我尝试使用isql工具连接到数据库时,出现以下错误:
$ isql -v TS username password
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect
是否有人已经在Ubuntu 12.04上使用freetds和unixodbc成功建立了与MS SQL数据库的连接?我真的很感谢您的帮助。
以下是我用来配置freetds和unixodbc的过程。谢谢您的帮助!
程序
首先,我安装了以下软件包:
sudo apt-get install unixodbc unixodbc-dev freetds-dev tdsodbc
并配置freetds如下:
--- /etc/freetds/freetds.conf ---
[TS]
host = SERVER
port = 1433
tds version = 7.0
client charset = UTF-8
使用tsql工具,我可以通过执行以下命令成功连接到数据库
tsql -S TS -U username -P password
由于需要odbc连接,因此按以下方式配置odbcinst.ini:
--- /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
和odbc.ini如下:
--- /etc/odbc.ini ---
[TS]
Description = "test"
Driver = FreeTDS
Servername = SERVER
Server = SERVER
Port = 1433
Database = DBNAME
Trace = No
尝试使用具有这样配置的isql工具连接到数据库会导致以下错误:
$ 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