我正在尝试使用sqljdbc4驱动程序创建一个Sping Boot 应用程序,配置如下:
spring:
datasource:
url: "jdbc:sqlserver://dbhost:1433;databaseName=test"
username: dbuser
password: dbuser
tomcat:
test-on-borrow: true
validation-query: select 1
但是,当我运行时,我得到这个错误:Unable to detect database type
我正在调试BatchDatabaseInitializer
,错误来自哪里,当它调用JdbcUtils.commonDatabaseName(...)
时,“Microsoft SQL Server”作为产品名称返回,与任何DatabaseDriver的产品名称都不匹配。
我试过其他司机,但他们都有同样的问题。
是窃听器吗?
我使用的是Sping Boot 1.5.1-Release。
6条答案
按热度按时间cnjp1d6j1#
如果您使用spring-batch创建批处理作业,则需要在www.example.com文件中正确配置spring.datasource配置application.properties。
***spring.batch.initialize-schema***当配置为“always”时,将在您的schema中创建必要的spring batch相关表。
或者,如果你将它赋值为“never",它将不创建表。在这两种情况下,你的错误都应该得到解决。
dfddblmv2#
将其添加到
main
函数中的Application文件中。tkqqtvp13#
在props文件中尝试
spring.batch.jdbc.initialize-schema=never
。我在spring-boot v2.6.x中使用了它。zdwk9cvp4#
将其放入application. properties. spring.batch.schema=classpath:org/springframework/batch/core/schema-sqlserver.sql中
ars1skjm5#
检查您的application.properties文件如下。
注意:springbatch是我的数据库名称
qmelpv7a6#
在将spring更新到2.7后,我在单元测试中遇到了类似的问题。我添加了这个来解决这个问题: