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

出现的现象:

 

解决方法:

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

问题重现:
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

重新连接:

解决方法2:

既然是大小写敏感的问题,那么可以直接将密码统一小写即可

即密码写成orcl_123即可

 

一、出现症状

 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; " 双引号
posted @ 2016-07-27 17:42  Agoly  阅读(4828)  评论(0编辑  收藏  举报