我正在尝试使用MS SQL driver 13从Linux虚拟环境连接到MS SQL Server实例。
[<user> ~]$ which odbcinst
/usr/bin/odbcinst
[<user> ~]$ odbcinst -j
unixODBC 2.3.1
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/<user>/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
[<user> ~]$ cat /etc/odbc.ini
[DNSname-1]
Driver = ODBC Driver 13 for SQL Server
SERVER=server-1
DATABASE=DB1
[DNSname-2]
Driver = ODBC Driver 13 for SQL Server
SERVER=server-2\instance-1
Database=DB2
[<user> ~]$ isql DNSname-1 userid1 passwd1
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> quit
isql能够连接到ms sql server
[<root> ~]$ isql -v DNSname-2 userid2 passwd2
[S1T00][unixODBC][Microsoft][ODBC Driver 13 for SQL Server]Login timeout expired
[08001][unixODBC][Microsoft][ODBC Driver 13 for SQL Server]MAX_PROVS: Error Locating Server/Instance Specified [xFFFFFFFF].
[08001][unixODBC][Microsoft][ODBC Driver 13 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.
[ISQL]ERROR: Could not SQLConnect
但当我尝试连接到sql db实例时,isql给出了一个错误,即“登录超时已过期”