我正在尝试使用 groovy.sql.Sql连接 oracle12c 数据库
Sql sql = Sql.newInstance('jdbc:oracle:thin:@'+hostName:port/serviceName, dbUser, dbPassword, 'oracle.jdbc.driver.OracleDriver')
然后返回
java.sql.SQLException: ORA-28040: No matching authentication protocol
我想,这是因为方言不匹配。
它适用于 oracle11g ,但不适用于 12c 。如果 dialect 出现问题,我们如何在外部指定 dialect groovy.sql.Sql 。如果没有,可能是什么问题/解决方案?
我正在使用 ojdbc14 驱动程序。
答案 0 :(得分:9)
ojdbc14
是一个相对较老的驱动程序,这可能是问题所在。我建议您尝试ojdbc6
并查看是否可以解决您的问题。
请注意,根据此SO问题ORA-28040: No matching authentication protocol exception中的评论中的信息,这似乎解决了类似的问题。
答案 1 :(得分:0)
您指的是DataSource.groovy
中通常配置的方言吗?如果是这样,这在创建Sql
实例时无关紧要,因为方言仅由Hibernate / GORM使用。