私はItemReader用のSQLクエリリーダーを1つだけ持っています。春バッチ| JdbcPagingItemReader <T>は複数のデータソースにまたがる結合クエリをサポートするために複数のデータソースをサポートしていますか?
しかし、私のクエリ例外は、2つの異なるデータソースからテーブルを結合して単一の出力結果を提供することです..あなたは、2つの異なるデータベースに参加することはできないだろう単一のクエリで
<bean id="userFinder"
class="org.springframework.batch.item.database.JdbcPagingItemReader"
scope="step">
...
...
class="org.springframework.batch.item.database.support.SqlPagingQueryProviderFactoryBean">
<property name="dataSource1" ref="dataSource1" />
<property name="dataSource2" ref="dataSource2" />
<property name="selectClause"
value="SELECT ALIAS1.COL1, ALIAS2.COL2 " />
<property name="fromClause" value="FROM dataSource1.TABLE1.ALIAS1, dataSource2.TABLE 2.ALIAS2" />
</property>
<property name="sortKey" value="WLT_ID" />
</bean>
</property>
'DataSource'は実際の' java.sql.DataSource'を意味しますか?それがあれば、いいえ。私はそのようなストレートSQLを介してデータベース間の結合をサポートする技術を知らないです... –
はい。私のアプリケーションでは、2つのデータソースをJNDIルックアップとして利用できます。 Oracleバックエンドでは、これらは個別のUSER /スキーマとして定義されています。 2番目のデータソース/スキーマのtable2で最初のデータソース/スキーマからtable1に参加したいと思います。プレーンなSQLでは、2つの異なるスキーマ/ユーザーのテーブルを結合することができます。それは可能ですか? – Ketan
代替手段は、データベースリンク(ORACLE)、FEDERATED MySQLストレージエンジン(MySQL)、Dblink(PostgreSQL)などを使用することです。 – Thrax