LoadRunner 12.5连接Oracle数据库遇ORA-12154错误求助
解决LoadRunner 12.5中Oracle ORA-12154连接错误
问题分析
ORA-12154错误核心是TNS无法识别指定的连接标识符,你的脚本同时混用Data Source和Server参数,这是OLEDB连接字符串的常见错误,另外也可能和本地TNS配置、驱动兼容性有关。
具体修复步骤
1. 修正OLEDB连接字符串格式
OLEDB连接Oracle时无需同时指定Data Source和Server,二选一即可,推荐两种正确格式:
格式一:使用TNS别名(需本地配置tnsnames.ora)
lr_db_connect ("Stepname=Connect", "CONNECTIONSTRING=PROVIDER=ORAOLEDB.ORACLE; Password=tst_t; Persist Security Info=True; User ID=tst_t; Data Source=tst;", "Connectionname=OracleDB", "Connectiontype=OLEDB", LAST);
注意:Data Source=tst对应本地tnsnames.ora里的TNS别名,需确保该别名配置正确,示例tnsnames.ora条目:
tst = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 1.1.1.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = tst) ) )
格式二:直接使用EZCONNECT(无需TNS配置)
若不想配置tnsnames.ora,可改用EZCONNECT格式替换Data Source,删除多余的Server参数:
lr_db_connect ("Stepname=Connect", "CONNECTIONSTRING=PROVIDER=ORAOLEDB.ORACLE; Password=tst_t; Persist Security Info=True; User ID=tst_t; Data Source=//1.1.1.1:1521/tst;", "Connectionname=OracleDB", "Connectiontype=OLEDB", LAST);
注意:需确认Oracle端口为1521(原脚本中写的11属于明显错误,应替换为实际使用的端口)。
2. 验证本地Oracle客户端配置
- 确保LoadRunner运行机器上安装了匹配位数的Oracle客户端(LoadRunner 12.5多为32位,需对应安装32位Oracle客户端)。
- 用
tnsping tst命令测试TNS别名是否能解析成功,若报错,检查tnsnames.ora的路径(通常在OracleHome\network\admin下)和内容。 - 确认环境变量
TNS_ADMIN指向tnsnames.ora所在文件夹,避免LoadRunner找不到配置文件。
3. 检查OLEDB驱动兼容性
- 确认ORAOLEDB.ORACLE驱动版本与Oracle服务器版本兼容,建议使用Oracle官方最新OLEDB驱动。
- 检查LoadRunner的运行时设置,确保启用了OLEDB相关支持(默认启用,可确认)。
4. 排查脚本参数错误
- 删除连接字符串中参数值前后的空格,比如
Password = tst_t改为Password=tst_t,OLEDB对空格敏感,易导致参数解析失败。 - 确认用户名、密码、数据库服务名无拼写错误。
测试验证
修改脚本后单独运行vuser_init部分,观察是否仍出现ORA-12154错误。若问题依旧,先在本地用Oracle SQL Developer或TOAD测试相同连接参数,排除数据库端问题。
内容的提问来源于stack exchange,提问作者Mahsa ehsani
相关产品推荐
相关产品推荐

