【问题标题】:ORA-12545: Network Transport: Unable to resolve connect hostnameORA-12545: 网络传输: 无法解析连接主机名
【发布时间】:2022-01-05 07:11:30
【问题描述】:

从核心 api 3.1 调用 azure 函数时,在 PROD 中两周一次出现以下异常。

使用 ADO.Net 与 oracle DB 建立连接时出现以下问题。尤其是在执行 conn.open() 时。

            OracleConnection conn = new OracleConnection(connStr);
            conn.Open();
            OracleCommand cmd = new OracleCommand(strSQLQuery, conn)
            {
                CommandType = CommandType.Text
            };
            OracleDataReader odr = cmd.ExecuteReader();

一旦从 azure 门户重新启动应用服务,它就会得到解决。

错误 - ora-12545 网络传输无法解析连接主机名。

【问题讨论】:

    标签: oracle azure-active-directory azure-functions asp.net-core-3.1 azure-functions-runtime


    【解决方案1】:

    请检查以下是否可以解决。

    1. 如果您使用的是 tnsname.ora,请确保其已配置 正确。检查 tnsname.ora 文件的 prod 并检查 servername,查看listener.ora文件中是否存在prod监听器 必须丢失。因此尝试为类似于 dev 的 prod 环境添加侦听器 ,如果存在。
    2. 如果连接字符串有 DNS 名称,请尝试将其替换为 IP 地址。尝试使用用户服务名称,因为它们有不同的名称 product 和 dev 分开,即使 SID 相同也很有用 (在某些情况下)。始终确保 local_listener 的主机字段是 正确设置为可由 Oracle 客户端解析的名称。

    或者

    1. 尝试更新主机文件以包含所需的服务器和主机端口。 去 \等\主机。插入服务器名称和 服务器IP在这里并保存。
    2. 还要检查.net版本,有时可能不兼容, 也许这就是为什么,重新启动后,它的设置本身和 问题已在 azure app service.or 中解决。或者有时可能会出现问题 由于防火墙在 Azure 门户中受到限制。

    如果问题仍然存在,您可以从故障排除刀片的概览页面提出支持请求。

    参考: oracle - Stack Overflow

    【讨论】:

    • "查看prod监听器是否存在于listener.ora文件中"不需要listener.ora文件。如果没有 listener.ora,侦听器进程将非常高兴地从所有默认值开始。对于大多数安装来说,这就是监听器所需要的全部内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 2020-03-20
    相关资源
    最近更新 更多