Próbuję połączyć się z bazą danych MS SQL przy użyciu freetds i unixodbc . Przeczytałem różne przewodniki, jak to zrobić, ale nikt nie działa dla mnie dobrze. Kiedy próbuję połączyć się z bazą danych za pomocą narzędzia isql , pojawia się następujący błąd:
$ isql -v TS username password
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect
Czy ktoś już pomyślnie ustanowił połączenie z bazą danych MS SQL przy użyciu freetds i unixodbc na Ubuntu 12.04? Byłbym bardzo wdzięczny za pomoc.
Poniżej znajduje się procedura, której użyłem do skonfigurowania freetds i unixodbc . Z góry dziękuję za pomoc!
Procedura
Najpierw zainstalowałem następujące pakiety z:
sudo apt-get install unixodbc unixodbc-dev freetds-dev tdsodbc
i skonfigurowałem freetds w następujący sposób:
--- /etc/freetds/freetds.conf ---
[TS]
host = SERVER
port = 1433
tds version = 7.0
client charset = UTF-8
Za pomocą narzędzia tsql mogę pomyślnie połączyć się z bazą danych, wykonując
tsql -S TS -U username -P password
Ponieważ potrzebuję połączenia odbc , skonfigurowałem plik odbcinst.ini w następujący sposób:
--- /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
i odbc.ini w następujący sposób:
--- /etc/odbc.ini ---
[TS]
Description = "test"
Driver = FreeTDS
Servername = SERVER
Server = SERVER
Port = 1433
Database = DBNAME
Trace = No
Próba połączenia z bazą danych za pomocą narzędzia isql z taką konfiguracją powoduje następujący błąd:
$ 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