无法仅使用命名实例

时间:2018-03-01 15:39:52

标签: sql-server odbc freetds unixodbc

我已在项目中使用freeTDS,但连接到默认实例。

现在我需要连接到一个命名实例。

我能够使用tsql列出所有主机实例,但是我遇到连接到实例的问题。 它是一个集群的SQL Server 2016。

# tsql -LH cl04-mssql-sccm
  ...
     ServerName CL04-MSSQL-SCCM
   InstanceName MSSQL_INST_SCCM
    IsClustered Yes
        Version 13.0.1601.5
            tcp 59841
             np \\CL04-MSSQL-SCCM\pipe\MSSQL$MSSQL_INST_SCCM\sql\query
  ...

我在odbc.ini中有以下会话:

[ATIVOSDESOFTWARE]
Driver=FreeTDS
Description=AtivosDeSoftware
QuoteID=Yes
AnsiNPW=Yes
Server=cl04-mssql-sccm
Port=59841
;Instance=MSSQL_INST_SCCM
Database=CM_CM3
TDS_Version=7.4
ClientCharset=UTF-8

根据文档,端口和实例是互斥的。 使用端口,osql工作。使用实例,连接失败:

[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[08S01][unixODBC][FreeTDS][SQL Server]Unable to connect: Adaptive Server is unavailable or does not exist
[ISQL]ERROR: Could not SQLConnect

在freetds.log上我有以下一行:

login.c:447:invalid port number

我在论坛上发现了一些类似的情况,但解决方案始终是使用硬编码端口。我想避免它。

有人知道我做错了吗?

0 个答案:

没有答案