isql没有连接到数据库

时间:2017-09-12 21:41:47

标签: python sql-server odbc pyodbc unixodbc

我在centos机器上安装了unixodbc和mssql驱动程序,但我无法使用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

需要知道我做错了什么。

1 个答案:

答案 0 :(得分: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

(我已经确认上述条目是由here的“RedHat Enterprise Server 7”指令自动添加的。经过全新安装的CentOS_7测试。)

然后您的“/etc/odbc.ini”可以将名为“empower”的DSN定义为

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

isql应该可以与

连接
isql empower MyID MyPWD