isql не подключается к базе данных

Я установил драйверы unixodbc и mssql на машину CentOS, но я не могу подключиться к удаленной базе данных, используя пароль пользователя базы данных isql.

odbcinst -j

unixODBC 2.3.1
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

cat /etc/odbcinst.ini (этот файл пуст)

Я создал запись в /etc/odbc.ini

[empower]
Driver=ODBC Driver 13 for SQL Server
Description=ODBC Driver 13 for SQL Server
DSN=dsnname
Trace=No
Server=servername
Port=1433
Database=db_env
ApplicationIntent=ReadOnly


isql dsnname username password gives the below error :
[ISQL]ERROR: Could not SQLConnect

Нужно знать, делаю ли я что-то не так.


person Rohit Sharma    schedule 12.09.2017    source источник


Ответы (1)


Файл «/etc/odbcinst.ini» не должен быть пустым. Он должен содержать запись, подобную этой:

[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.1.so.9.0
UsageCount=1

(Я убедился, что вышеуказанная запись автоматически добавляется инструкциями «RedHat Enterprise Server 7» из здесь. Проверено на чистой установке CentOS_7.)

Затем ваш «/etc/odbc.ini» может определить DSN с именем «empower» как

[empower]
Driver=ODBC Driver 13 for SQL Server
Trace=No
Server=servername
Database=db_env
ApplicationIntent=ReadOnly

и isql должен иметь возможность подключаться к

isql empower MyID MyPWD
person Gord Thompson    schedule 12.09.2017
comment
Я нашел /opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.1.0 и обновил /etc/odbcinst.ini в соответствии с вашими инструкциями. Но я все еще получаю ту же ошибку. Я могу войти в базу данных сервера sql с помощью студии sql, используя мои учетные данные Windows. Не уверен, что я что-то упустил, я думаю, это не проблема с учетными данными, поскольку ошибка не жалуется на это. - person Rohit Sharma; 13.09.2017
comment
Возможно, вы использовали устаревший набор инструкций по установке msodbcsql. Попробуйте еще раз, используя инструкции RedHat Enterprise Server 7 из здесь. Я только что сделал это при чистой установке CentOS_7, и isql, и Python/pyodbc у меня отлично работали. - person Gord Thompson; 13.09.2017