ORA-12197: TNS:keyword-value resolution error
Cause: The navigation layer received an error while trying to look up a value for a keyword.
Action: Check the syntax of the connect descriptor.
ORA-12197: TNS:keyword-value resolution error
指的是在使用Oracle开放服务接口时,试图解析的TNS的参数设置(比如address)在tnsname.ora文件中存在,但其值不能解析或者计算,一般都是由于参数值中有拼写错误、未加引号或括号等原因。
1、参数值中有拼写错误,例如:
ADDRESS = (PROTOCOL=TCP)(HOSR=127.0.0.1)(POR=1521)
此例中,HOSR应该为HOST,而POR也应该为PORT,如下:
ADDRESS = (PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)
2、参数值中加号未加引号,例如:
ADDRESS = (PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=151+)
此例中,由于没有加引号,Oracle开放服务接口无法识别+号,正确示范应为:
ADDRESS = (PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=151+)
1、查看tnsname.ora文件中提供的keyword-value参数设置是否正确。
2、检查需执行的SQL和PLSQL语句中的连接参数是否正确;
3、检查tnsname.ora文件中提供的keyword-value参数设置是否正确;
4、重新检查tnsname.ora的数据库连接参数,确保其正确性;
5、如果还是无法解决,可以使用TNSPING命令检查是否参数设置正确;
6、可以使用 NETMGR或 NETCA 工具去重置listener,把错误信息重置成正确。