一、出现症状
1、使用sqlplus连接正常
2、C#使用10g的ODP.NET连接时,报上面的错误
二、原因
1、Oracle11G之前密码是不区分大小写的,从11G开始默认密码区分大小写
2、使用10G的ODP.Net时,会自动把密码转换成大写
三、解决办法
1、给连接字符串中密码使用加上引号,这样密码就不会转成大写了
2、换成11G客户端
3、修改数据库,禁用大小写敏感模式:ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE //这条可用,亲测,我的客户端是10G的,服务端是11G。