您的位置:首页 > 数据库 > SQL

【翻译自mos文章】对于JDBC thin client连接,ORA-28040 and SQLNET.ALLOWED_LOGON_VERSION_CLIENT

2015-09-04 09:45 781 查看
对于JDBC thin client连接,ORA-28040 and SQLNET.ALLOWED_LOGON_VERSION_CLIENT的问题

来源于:

ORA-28040 and SQLNET.ALLOWED_LOGON_VERSION_CLIENT for JDBC Thin Clients (文档 ID 2000339.1)

目标:

对于JDBC THIN clients来说,SQLNET.ALLOWED_LOGON_VERSION_CLIENT有等价物么?

或者说

当使用JDBC THIN driver时,怎么解决ORA-28040: No matching authentication protocol error问题?

解决方案:

当使用JDBC Thin client时,The property “oracle.jdbc.allowedLogonVersion”可以被设置来配置Oracle client需要的最低的authentication protocol。

该参数值为12a,12,11,10等等,与SQLNET.ALLOWED_LOGON_VERSION_CLIENT的取值一样。JDBC属性是在12.1 版本中引入的。

请注意:SQLNET.ALLOWED_LOGON_VERSION_CLIENT 仅仅对OCI client生效。

使用 PBKDF2的密码验证器需要JDK8(Also the latest password verifier which uses PBKDF2 requires JDK8.)

ALLOWED_LOGON_VERSION_SERVER 是一个server端的参数,它指定了server端需要的最低的authentication protocol,因此适用于连接到db的任何的client(including JDBC Thin and OCI)

例子:

OracleDataSource ods = new OracleDataSource();
ods.setURL(jdbcURL);
ods.setUser("scott");
ods.setPassword("tiger");
Properties props = new Properties();
props.put("oracle.jdbc.allowedLogonVersion", 12);
ods.setConnectionProperties(props);
Connection con = ods.getConnection();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: