jdbc - 无法使用 Flyway 和 gradle 在 sql server 上创建迁移

标签 jdbc gradle flyway

我对使用 Flyway 非常陌生,目前我正在尝试使用它为 sql 服务器创建数据库迁移。我们在项目中使用 Gradle,因此我尝试使用 gradle 的 Flyway 插件。

我已经从这里下载了 sql server 的 JDBC 驱动程序:http://www.microsoft.com/en-us/download/confirmation.aspx?id=11774

这就是我的 gradle Flyway 任务的样子:

flyway {
    driver = 'com.microsoft.sqlserver.jdbc.SQLServerDriver'
    url = 'jdbc:microsoft:sqlserver://localhost:1433;Databasename=testing'
    user = 'testdev'
    password = 'testdev'
}

执行 gradle FlywayInfo 时遇到的异常:

Caused by: com.googlecode.flyway.core.api.FlywayException: Unable to obtain Jdbc
 connection from DataSource
        at com.googlecode.flyway.core.util.jdbc.JdbcUtils.openConnection(JdbcUti
ls.java:52)
        at com.googlecode.flyway.core.Flyway.execute(Flyway.java:1174)
        at com.googlecode.flyway.core.Flyway.info(Flyway.java:981)
        at com.googlecode.flyway.core.Flyway$info.call(Unknown Source)
        at com.googlecode.flyway.gradle.task.FlywayInfoTask.run(FlywayInfoTask.g
roovy:31)
        at com.googlecode.flyway.gradle.task.FlywayInfoTask$run.callCurrent(Unkn
own Source)
        at com.googlecode.flyway.gradle.task.AbstractFlywayTask.runTask(Abstract
FlywayTask.groovy:74)
        ... 79 more

让我知道我在这里缺少什么。

谢谢。

最佳答案

是的,我添加了 SQLServerDriver 的依赖项。我找到了修复方法,使用了错误的 url,正确的网址是: url = 'jdbc:sqlserver://localhost:1433;Databasename=testing'

关于jdbc - 无法使用 Flyway 和 gradle 在 sql server 上创建迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20420455/

相关文章:

spring-boot - 无法获取表锁 - 另一个 Flyway 实例可能正在运行

java - Apache Spark - JDBC 源

java - jdbc 不运行 SQL Developer 运行的内容

gradle - 在 Gradle 中获取依赖项的 pom

gradle - 如何在Gradle中强制重新配置项目?

spring-boot - 如何在执行 spring-boot Flyway-ootb 迁移之前以编程方式触发 Flyway 迁移?

mysql - 无法在jsf应用程序中将数据插入数据库

python - 从 Python 连接和测试 JDBC 驱动程序

spring-boot - 在集成测试开始之前运行Firestore Emulator

compare - Flyway和liquibase在一起?