私はテーブルからselectを実行し、2つの異なるDB接続の同じ(同じ構造の)別のテーブルに挿入する必要があります。 これは私のコードです:2つの異なるDB接続の同じテーブルから選択/挿入
getSQL1from("direct:" + getId)
.toD("sql:classpath:" +getSql1 + "?datasource= DataSourse1&usePlaceHolder=true"))
.setHeaders("Results", simple(${body})
toD("sql:classpath:" +getSql2 + "?datasource= DataSourse2&usePlaceHolder=true"))
:それが原因でデータの動作しません。INSERT INTO Product2値($ {} headers.results)
:製品1 と getSQL2 SELECT * FROM format私は挿入しようとしています。私がセレクトから得るものは、次のようなものです: [{ID = 130、DESCRIPTION = Product130}] データを整理して130を得る必要があります。 'Product130' 助けが必要ですか?ありがとう。
.setHeaders()?あなたは例外を受け取りますか?とにかく、返されるデータ形式は(デフォルトで)Javaオブジェクトです: 'Map'の' List'。複数のレコードが返されないようにするためのものがないため、複数の列のMapがあるため、Listです。 1つのレコードだけが必要な場合は、sql uriオプション 'outputType = SelectOne'を使うことができます。複数のカラムがある場合は、マップだけが表示されます。私はあなたのSQL文字列を外部化しているかどうかはわかりません....また、あなたが望むものを達成するために.toD()は必要ありません。 –