blancoDb動かず。。
MySQLはサポート対象外なので、当然といえば当然ですかね。
generate: blancoDb生成: PostgreSQL blancoDb タスク blancoDb Enterprise Edition (1.2.0) 単一表アクセサSQL自動生成: 開始. データベース接続をオープンします. Driver:com.mysql.jdbc.Driver URL:jdbc:mysql://localhost/test User: JDBCドライバの基礎情報を取得します。 DriverName:MySQL-AB JDBC Driver DriverVersion:mysql-connector-java-3.1.10 ( $Date: 2005/05/19 15:52:23 $, $Revision: 1.1.2.2 $ ) DatabaseMajorVersion:4 DatabaseMinorVersion:0 JDBCMajorVersion:3 JDBCMinorVersion:0 未知のJDBCドライバです: MySQL-AB JDBC Driver 表[customer]を処理します 表[item]を処理します 表[orders]を処理します 表[pt]を処理します データベース接続をクローズします. (rollbackしてcloseします) JDBC接続の開放に失敗しました: java.sql.SQLException: Can't call rollback when autocommit=true java.sql.SQLException: Can't call rollback when autocommit=true at com.mysql.jdbc.Connection.rollback(Connection.java:4686) at blanco.db.collector.BlancoDbDatabaseConnection.close(BlancoDbDatabaseConnection.java:73) at blanco.db.helper.BlancoDbTableGateway2Xml.process(BlancoDbTableGateway2Xml.java:114) at blanco.db.task.BlancoDbTask.execute(BlancoDbTask.java:230) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) at org.apache.tools.ant.Task.perform(Task.java:364) at org.apache.tools.ant.Target.execute(Target.java:341) at org.apache.tools.ant.Target.performTasks(Target.java:369) at org.apache.tools.ant.Project.executeTarget(Project.java:1214) at org.apache.tools.ant.Project.executeTargets(Project.java:1062) at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:234) at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:242) at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:125) 単一表アクセサSQL自動生成: 終了. ... project\OR\build.xml:78: ビルド時に例外が発生: ビルドを中断します: blanco.db.exception.BlancoDbException: クエリ名[SimpleCustomerSelect]においてSQL例外が発生しました。クエリ名[SimpleCustomerSelect]のSQL文やSQL入力パラメータに誤りが含まれていないか調べてください。SQLState[42000] メッセージ[java.sql.SQLException: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '"customer" WHERE ID = 0' at line 2] 構築失敗 (合計時間: 0 秒)
二つ事象はあって、一つ目はautocommit=trueなのにrollbackするなよってやつ。わがままなもんです。そのぐらい融通利かせてくれたっていいのにね。もう一つは、MySQLのSQLの解釈によるものっぽくて、テーブル名にダブルクォートが付いているとダメみたいです。この辺、スタンダードがどうなのかって辺りがポイントでしょうね。