我在使用 unixODBC 时遇到问题。我需要到不同的 Sql 服务器实例的多个连接,除了一个之外,所有连接都在工作。它在主机中有附加参数。
所有主机都是 ip 或只是主机名,但不工作的主机有 IP\smth
我试过了:
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0
Database=dbname
Server=192.168.1.1/PARAM
Port=1433
也试过转义,引号等。
isql -v
返回:[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
最佳答案
我可以通过 unixODBC 从 MAC OSX (Sierra) 连接到 SQL Server 2017(安装在使用此镜像的 docker 容器中:https://hub.docker.com/r/microsoft/mssql-server-linux/)按照以下步骤操作:
odbcinst -j
...
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
...
...
[ODBC Driver 13 for SQL Server]
...
...
[MSSQLTest]
Driver = ODBC Driver 13 for SQL Server
Server = 192.168.178.1,1433
...
注意:在此处使用您的服务器 IP 地址(或服务器名称)和端口号。
isql MSSQLTest sa Password12345 -v
注意:用您自己的凭据替换用户名“sa”和密码“Password12345”!
你应该会看到:
Connected!
关于sql-server - unixODBC 连接到 SQL 服务器超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35994045/