This question already has an answer here:
DatabaseType not found for product name: [Impala]
(1个答案)
2个月前关闭。
尝试设置Spring Boot-Spring Batch项目时,我遇到一个错误,指出:
我已经检查了Spring Batch支持的数据库,但是Tibero不在列表中。
还有什么其他方法可以使Tibero DB指向此工作...
请参考下面的错误日志。
这些是Spring Batch开箱即用支持的数据库。
但是您可以根据documentation注册非标准数据库
由于Tibero与oracle完全兼容,因此您可以创建
(1个答案)
2个月前关闭。
尝试设置Spring Boot-Spring Batch项目时,我遇到一个错误,指出:
我已经检查了Spring Batch支持的数据库,但是Tibero不在列表中。
还有什么其他方法可以使Tibero DB指向此工作...
请参考下面的错误日志。
Caused by: java.lang.IllegalArgumentException: DatabaseType not found for product name: [Tibero]
at org.springframework.batch.support.DatabaseType.fromProductName(DatabaseType.java:84) ~[spring-batch-infrastructure-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at org.springframework.batch.support.DatabaseType.fromMetaData(DatabaseType.java:123) ~[spring-batch-infrastructure-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at org.springframework.batch.core.repository.support.JobRepositoryFactoryBean.afterPropertiesSet(JobRepositoryFactoryBean.java:183) ~[spring-batch-core-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at org.springframework.boot.autoconfigure.batch.BasicBatchConfigurer.createJobRepository(BasicBatchConfigurer.java:129) ~[spring-boot-autoconfigure-2.2.6.RELEASE.jar:2.2.6.RELEASE]
at org.springframework.boot.autoconfigure.batch.BasicBatchConfigurer.initialize(BasicBatchConfigurer.java:97) ~[spring-boot-autoconfigure-2.2.6.RELEASE.jar:2.2.6.RELEASE]
... 24 common frames omitted
最佳答案
如果您选择DatabaseType
,它将不支持您的数据库(Tibero)。
public enum DatabaseType {
DERBY("Apache Derby"),
DB2("DB2"),
DB2VSE("DB2VSE"),
DB2ZOS("DB2ZOS"),
DB2AS400("DB2AS400"),
HSQL("HSQL Database Engine"),
SQLSERVER("Microsoft SQL Server"),
MYSQL("MySQL"),
ORACLE("Oracle"),
POSTGRES("PostgreSQL"),
SYBASE("Sybase"),
H2("H2"),
SQLITE("SQLite");
}
这些是Spring Batch开箱即用支持的数据库。
但是您可以根据documentation注册非标准数据库
由于Tibero与oracle完全兼容,因此您可以创建
TiberoBatchConfigurer
,如下所示,@EnableBatchProcessing
public class TiberoBatchConfigurer extends DefaultBatchConfigurer {
@Autowired
private DataSource dataSource;
@Autowired
private PlatformTransactionManager transactionManager;
public TiberoBatchConfigurer() {
super();
}
public TiberoBatchConfigurer(DataSource dataSource) {
super(dataSource);
}
@Override
protected JobRepository createJobRepository() throws Exception {
JobRepositoryFactoryBean factory = new JobRepositoryFactoryBean();
factory.setDataSource(dataSource);
factory.setDatabaseType("ORACLE");
factory.setTransactionManager(transactionManager);
factory.afterPropertiesSet();
return factory.getObject();
}
}
关于java - 找不到产品名称的数据库类型:[Tibero] ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61266208/
10-08 22:45