0

编辑:我可以从 flyway 命令行工具运行相同的配置,但不能从 ant 任务运行。

我有一个可在我的 oracle 数据库上运行的 flyway 配置。我正在我的 SQL-Server 数据库上设置 flyway。当我尝试任何蚂蚁任务时,Flyway 挂起。包括应该用于测试与数据库的连接的信息。

当我运行它时,Flyway 似乎挂起。执行任何 ant 任务时,详细日志以“[flyway:info] DDL Transactions Supported: true”停止,如我在本文末尾发布的日志末尾所示。Flyway 坐在那里,此时没有做任何事情。这让我相信它在获取架构时遇到了问题。因为如果我记得的话,下一个日志行应该是“[flyway:info] Schema: SchemaName”。

这是我正在使用的版本

  • 飞行路线:2.0.4
  • SQL-Server:SQL-Server 2008 Express R2
  • 微软 jdbc:sqljdbc-4.0

数据库初始化日志:

-在里面:

[属性] 正在加载 ..\database\database-build.properties

使用 URI = jar:file:../apache- 解析构建文件 jar:file:../apache-ant-1.8.2/lib/ant-contrib-1.0b3.jar!/net/sf/antcontrib/antlib.xml ant-1.8.2/lib/ant-contrib-1.0b3.jar!/net/sf/antcontrib/antlib.xml 来自 zip 文件

[属性] 加载 ..database\database-placeholders-testclient.properties

-证实:

-回声:

 [echo] Selected database [platform] for DB migration : mssql
 [echo] Selected database [user] for DB migration : sa
 [echo] Selected database [password] for DB migration : flyway
 [echo] Selected database [schemas] for DB migration : dbo
 [echo] Database [jdbc driver class name] for DB migration : com.microsoft.sqlserver.jdbc.SQLServerDriver
 [echo] Database [connection URL] for DB migration : jdbc:sqlserver://localhost;databaseName=TEST_DB;applicationName=Flyway

数据库信息:

使用 URI = jar:file:.. 解析 buildfile jar:file:../apache-ant-1.8.2/lib/flyway-ant-2.0.3.jar!/com/googlecode/flyway/ant/antlib.xml /apache-ant-1.8.2/lib/flyway-ant-2.0.3.jar!/com/googlecode/flyway/ant/antlib.xml 来自 zip 文件

[flyway:info] 数据库:Microsoft SQL Server 10.50

[flyway:info] 支持的 DDL 事务:true

4

1 回答 1

0

我发现了这个问题。我的 ant 环境使用 Java build 1.6.0_29 并且在通过命令行使用 flyway 时使用的是 Java build 1.6.0_37 。当我将我的 ant 环境更改为 1.6.0_37 时,它起作用了。我正在使用 Microsoft JDBC 驱动程序 4.0。

于 2013-02-04T21:35:20.323 回答