【问题标题】:DataDirect Azure ODBC Connection RefusedDataDirect Azure ODBC 连接被拒绝
【发布时间】:2025-12-19 18:05:07
【问题描述】:

我正在尝试使用 DataDirect ODBC 驱动程序与我的 Azure 数据库建立连接,但出现此错误。

Src_ODBC_Unld_iMIS_Name_All: ODBC function "SQLConnect" reported:  SQLSTATE = 08001: Native Error Code = 0: Msg = [IBM(DataDirect OEM)][ODBC SQL Server Wire Protocol driver]Connection refused. Verify Host Name and Port Number. (CC_OdbcConnection::connect, file CC_OdbcConnection.cpp, line 578)

我的连接信息。

[ODBC Data Sources]
AzureSQLServer=DataDirect SQL Server Azure
[AzureSQLServer]
Driver=/opt/IBM/InformationServer/Server/branded_odbc/lib/VMsqls00.so
Description=DataDirect SQL Server Native Wire Protocol
Database=AzureDatabase
EncryptionMethod=1
HostName=azure-db-server.database.windows.net
PortNumber=1433
ValidateServerCertificate=1

我可以通过使用 SQL Server Native Client 驱动程序从 Windows 设置 ODBC 连接到数据库,并且我获得了数据库的成功审核日志条目。使用 DataDirect 驱动程序时,我什至没有在 Azure 数据库上获得审核日志条目。这是否表明 DataDirect 连接甚至没有通过我的防火墙或我的设置有问题?

【问题讨论】:

    标签: sql-server azure odbc datastage datadirect


    【解决方案1】:

    驱动程序没有通过这台机器的防火墙。该错误意味着驱动程序无法将主机名解析为 IP 地址和/或发现请求的端口未在侦听。端口不太可能有问题,因此请尝试 ping azure-db-server.database.windows.net。它可能无法 ping,但输出将显示安装驱动程序的机器是否能够将名称解析为 IP 地址。如果名称没有解析到这台机器的 ip,那么您应该检查您的网络或防火墙设置,看看需要更改哪些内容才能使名称解析正常工作。

    此外,如果 ValidateServerCertificate=1,您需要在数据源定义中提供有效的 Truststore。在您努力建立初始连接时,您可能希望将其设置为 0。

    【讨论】: