LR连接oracle时出现:SQLState=28000[Oracle][ODBC][Ora]ORA-01017:invalid username/password;logon denied

时间:2023-03-08 16:37:57

出现的现象:

LR连接oracle时出现:SQLState=28000[Oracle][ODBC][Ora]ORA-01017:invalid username/password;logon denied

解决方法:

LR连接oralce 时报错,前提从oracle客户端可以正常登陆:

LR连接oracle时出现:SQLState=28000[Oracle][ODBC][Ora]ORA-01017:invalid username/password;logon denied

问题重现:
1. 检查数据库驱动: C:\Windows\SysWOW64\odbcad32.exe
2. 检查用户 DSN -> 添加,选择 ORACLE IN ORAHOME90 , 在oracle odbcad32 driver configuration填写数据库连接配置;
3. 点击 test connection 时,提示:SQLState=28000 ODBC ORA ORA-01017:invalid username/password;logon denied

问题原因之一:
1. oracle 中用户名密码是大小写不敏感的(用户名或密码可能存在小写情况)

解决方案:
去除oracle的密码大写敏感设定: 
alter system set sec_case_sensitive_logon=false

LR连接oracle时出现:SQLState=28000[Oracle][ODBC][Ora]ORA-01017:invalid username/password;logon denied

重新连接:

LR连接oracle时出现:SQLState=28000[Oracle][ODBC][Ora]ORA-01017:invalid username/password;logon denied

一、出现症状

 1、使用sqlplus连接正常

 2、lr使用ora 9i的odbc驱动连接时,报上面的错误

二、原因

 1、Oracle11G之前密码是不区分大小写的,从11G开始默认密码区分大小写

 2、使用9iG的odbc驱动时,会自动把密码转换成大写

三、解决办法

 1、给连接字符串中密码使用加上引号,这样密码就不会转成大写了

 2、换成11G的odbc驱动

 3、修改数据库,禁用大小写敏感模式:ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE

因我的连接字符串是写在XML文件里,在XML文件里“引号”是需要转义的,现提供XML中常用的转义字符:

&lt; < 小于号
&gt; > 大于号
&amp; &
&apos; ' 单引号
&quot; " 双引号