同じ構造のデータベースが2つあり、データベース間のレコードを比較したいと思います。2番目のデータベースのレコードは最初のデータベースからコピーされますが、コピープロセスが機能しない場合があり、1つのテーブルの最初のデータベースには、2番目のデータベースの同じテーブルよりも多くのレコードがあります。したがって、最初のデータベースのどのレコードが2番目のデータベースに存在しないかを知りたいのです。私はそのようなもので試しました:
<etl>
<connection id="db1" driver="auto"
url="jdbc:mysql://localhost:3306/db" user="user"
password="xxx"
classpath="C:/mysql-connector-java-5.1.20.jar" />
<connection id="db2" driver="auto"
url="jdbc:mysql://localhost:3307/db" user="user"
password="xxx"
classpath="C:/mysql-connector-java-5.1.20.jar" />
<connection id="text" driver="text" />
<query connection-id="db1">
SELECT * FROM table;
<query connection-id="db2">
SELECT * FROM table WHERE id = '$id';
<script connection-id="text">
sometext, $rownum
</script>
</query>
</query>
</etl>
問題は、db2に対するクエリの結果が空の場合、スクリプトが実行されないことです。
この問題を解決する方法は?
よろしく、Jacek