Ответ 1
Я думаю, что вам не хватает буквы i в вашем файле конфигурации odbc. Это должно быть вместо odbc.in
odbc.ini
Со страницы isql
man :
isql, iusql - интерактивный инструмент SQL командной строки unixODBC. Резюме
isql DSN [USER [PASSWORD]] [options] Description
isql - это инструмент командной строки, который позволяет пользователю выполнять SQL в партия или в интерактивном режиме. У него есть несколько интересных опций, таких как возможность генерировать вывод, завернутый в таблицу HTML.
iusql - это тот же инструмент со встроенной поддержкой Unicode. Аргументы
DSN
Имя источника данных, которое следует использовать для подключения к базе данных. Источник данных ищется в /etc/odbc.ini и файлы $ HOME/.odbc.ini в указанном порядке, причем последние перезаписывают бывший.
ПОЛЬЗОВАТЕЛЬ Указывает пользователя/роль базы данных, под которой должно быть установлено соединение.
Пароль ПАРОЛЯ для указанного ПОЛЬЗОВАТЕЛЯ.
То же самое касается /etc/odbcinst.in
. Должно быть /etc/odbcinst.ini
Изменить на основе комментария
Адриан, в твоем случае, я думаю, что было бы лучше создать новый вопрос, так как этот номер ошибки отличается от OP.
Сообщение об ошибке:
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified [ISQL]ERROR: Could not SQLConnect.
На основании вашего сообщения об ошибке вам нужно добавить опцию Server=ip_address
в ваш odbc.ini
(я тоже рекомендую добавить описание). Не забывайте, что имя в скобках [mssql]
должно быть ServerDSN
! Вы уверены, что у вас есть правильная версия TDS, указанная в TDS_Version = 7.3
? Директивы Driver
должно быть достаточно в /etc/odbcinst.ini
. Почему есть два разных драйвера - Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
и Driver=/usr/local/lib/libtdsodbc.so
является второй символической ссылкой?
Теперь конфигурация будет выглядеть примерно так (я должен догадаться, поскольку я не видел вашу конфигурацию):
[mssql]
Description = "My MSSQL DB for data science"
Driver = FreeTDS
ServerName = mssql
Server = <ip_address>
Port = 1433
Database = My Database //database has space
UsageCount = 1
TDS_Version = 7.3
instance = <my_mssql_instance>