连接oracle数据库报错,报错信息为:ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect Descrip

连接oracle数据库报错,报错信息为:ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect Descriptor.

ORA-12514 是一个 Oracle 错误代码,表示在使用 TNS服务名连接数据库时出现问题。这种错误通常与连接描述符中的服务名不匹配有关,因此通过确保服务名与数据库中的实际服务名匹配,可能解决这个问题。

以下是简要步骤:

  1. 运行以下查询以获取数据库中有效的服务名:

    select value from v$parameter where name='service_names';
    

    这将显示数据库中有效的服务名。

  2. 打开 tnsnames.ora 文件,更新您的连接描述符中的 SERVICE_NAME 部分,确保它与数据库中查询到的有效服务名匹配。例如:

    YOUR_CONNECTION_NAME = (DESCRIPTION = 
        (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = ) (PORT = ))
        (CONNECT_DATA = 
            (SERVER = DEDICATED)
            (SERVICE_NAME = )
        )
    )
    

    替换为有效的主机名, 替换为有效的端口号,以及 替换为从查询中获取的有效服务名。

通过更新 tnsnames.ora 文件中的连接描述符,确保它与数据库中的服务名匹配,应该能够解决ORA-12514错误。这种方法充分利用了连接描述符和数据库配置之间的一致性,从而确保正确的连接。

你可能感兴趣的:(oracle,数据库)