当我尝试从oracle数据库读取时出现此错误:
java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist
但是,我已经在客户端上使用相同的凭据测试了查询,并且该查询有效。可能是什么问题。
在我的连接设置下查找:
@Bean(name="eJDBCDatasource")
@ConfigurationProperties(prefix = "spring.datasourceexample")
public DataSource eJDBCDatasource(){
return DataSourceBuilder.create().build();
}
@Bean(name="exampleNmpJDBCTemplate")
public NamedParameterJdbcTemplate exampleNmpJDBCTemplate(@Qualifier("eJDBCDatasource") DataSource eJDBCDatasource){
return new NamedParameterJdbcTemplate(eJDBCDatasource);
}
和我的配置:
spring.datasourceexample.url=jdbc:oracle:thin:@//X.X.X.X:1521/EXDB
spring.datasourceexample.username=read
spring.datasourceexample.password=readp
spring.datasourceexample.driverClassName=oracle.jdbc.driver.OracleDriver
spring.datasourceexample.max-active=50
spring.datasourceexample.initial-size=20
spring.datasourceexample.max-idle=5
spring.datasourceexample.min-idle=1
spring.datasourceexample.test-while-idle=true
spring.datasourceexample.testOnBorrow=false
spring.datasourceexample.validationQuery=SELECT 1
spring.datasourceexample.time-between-eviction-runs-millis=5000
spring.datasourceexample.min-evictable-idle-time-millis=60000
spring.datasourceexample.unreturnedConnectionTimeout=30000
spring.datasourceexample.debugUnreturnedConnectionStackTraces=true
spring.datasourceexample.maxIdleTimeExcessConnections=300
和查询:
@Autowired
NamedParameterJdbcTemplate exampleNmpJDBCTemplate;
public Boolean isExample(String Id) {
SqlParameterSource param = new MapSqlParameterSource()
.addValue("id", Id);
List result = (List) exampleNmpJDBCTemplate.queryForList(this.examplesearchQuery, param);
return !result.isEmpty();
}
答案 0 :(得分:0)
解决了问题 我在应用程序中有其他数据源连接。因此,我需要添加@Qualifier批注。
@Autowired
@Qualifier("exampleNmpJDBCTemplate")
NamedParameterJdbcTemplate exampleNmpJDBCTemplate;