我正在使用Spring批处理并连接到Oracle12c实例。
org.springframework.JDBC.CanNotGetJdbcConnectionException:无法获取JDBC连接;嵌套异常是java.sql.sqlexception:ORA-28040:没有匹配的身份验证协议
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: ORA-28040: No matching authentication protocol
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:619)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:684)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:716)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:726)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:781)
at org.springframework.batch.core.repository.dao.JdbcJobInstanceDao.getJobInstance(JdbcJobInstanceDao.java:145)
at org.springframework.batch.core.repository.support.SimpleJobRepository.getLastJobExecution(SimpleJobRepository.java:284)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:280)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
at com.sun.proxy.$Proxy1.getLastJobExecution(Unknown Source)
at org.springframework.batch.core.launch.support.SimpleJobLauncher.run(SimpleJobLauncher.java:98)
at CustomerFileGenerationMain.main(CustomerFileGenerationMain.java:28)
Caused by: java.sql.SQLException: ORA-28040: No matching authentication protocol
<bean id="DataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="username" value="MY_OWNER"/>
<property name="url" value="jdbc:oracle:thin:@//localhost:1527/myCloud" />
<property name="password" value="" />
</bean>
<bean id="transactionManager" class="org.springframework.batch.support.transaction.ResourcelessTransactionManager" />
<bean id="jobRepository" class="org.springframework.batch.core.repository.support.JobRepositoryFactoryBean" >
<property name="dataSource" ref="DataSource" />
<property name="transactionManager" ref="transactionManager" />
<property name="databaseType" value="ORACLE" />
</bean>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0.1</version>
</dependency>
@Bean(name = "DataSource")
public DataSource batchDataSource() throws IOException {
OracleDataSource ds = null;
MCUserInfoFactory userInfoFactory = new MCUserInfoFactory();
try {
MCUserInfo userInfo = userInfoFactory.getMCUserInfo(XXXXLabel);
if (userInfo != null) {
ds = getDataSource(userInfo, edsurl);
}
} catch (Exception e) {
}
return ds;
}
我使用的是以下版本-
/:/oracle/home $ sqlplus / as sysdba
-bash: sqlplus: command not found
/:/oracle/home $ . ~/.profile
/:/oracle/home $ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Thu Jun 28 01:56:56 2018
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options
检查驱动程序文件(.jar)版本和您使用的ORACLE db版本是否兼容,这通常会导致此问题。
DatabaseError:ORA-28040:没有匹配的身份验证协议
尝试将与连接时 我搜索了一下,发现这个问题是因为oracle 12c有连接限制,而oracle Forms 6I没有 我知道oracle Forms6i真的很旧,但这是业务需求,所以我与升级当前软件无关...等等 所以如果有什么办法可以解决这个问题
我的应用程序使用JSF Primefaces 5.0、JDK7、Oracle数据库12、Tomcat 8。当我从Eclipse内部在集成的Tomcat8服务器上部署webapp war时,它工作得很好(所有这些都发生在Maven构建上)。但是,当我在Eclipse IDE之外的Tomcat 8服务器(使用Tomcat manager deploy UI)上手动部署相同的war时,我会得到以下错误。
最近三天以来,我遇到的问题只是简单的连接Android-Oracle12c数据库。 最近我上传了Android-Oracle-Connection,但它的11G版本。我使用过ojdbc14.jar 我也试过这个答案,但得到的错误是: 我没有找到任何教程或文档来连接12C。有人能帮忙吗?
我正在尝试连接oracle12C,但无法连接。 在这里我试着赋值(10、11、12),但它们都不起作用。
我正在尝试更改WebSphere中指向其他环境的数据源。我可以使用toad或SQLDeveloper连接它。然而,当我试图测试来自websphere的连接时,它给出了以下错误。“java.SQL.sqlexception:ORA-28040:没有匹配的身份验证协议DSRA0010E:SQL状态=99999,错误代码=28,040。有关详细信息,请查看JVM日志。” 我试着重新启动服务器,但没有帮助