2012-07-10 164 views
8

スキーマA(テーブルx)のデータをXMLにエクスポートしましたが、XMLを読み込み、スキーマB(テーブルy)にデータを挿入しています。 20000レコードの後に​​データを挿入している間は、ERRORCODE = -4461、DB2のSQLSTATE = 42815

com.ibm.db2.jcc.am.SqlSyntaxErrorException: [jcc][t4][20111][11366][3.63.75] The value of a host variable is too large for its corresponding use. Host variable=1. ERRORCODE=-4461, SQLSTATE=42815 
com.ibm.db2.jcc.am.BatchUpdateException: [jcc][t4][102][10040][3.63.75] Batch failure. 

バッチが提出されましたが、少なくとも1つの例外がバッチの個々のメンバーで発生しました。

テーブルxとテーブルyの対応する列のデータ型を比較しました。それらは同じです。ソースと宛先の両方でID(自動インクリメント)colとLONG VARCHARのBIGINTです。

この問題の解決に役立ちます。

+0

データ型は同じかもしれませんが、フィールドの長さはどうですか? – jazzytomato

+0

同じデータベース内のスキーマであるか、これら2つの異なるデータベースですか?それらの文字エンコーディングとは何ですか? –

+3

ちょっと助けてくれてありがとう、私の問題はxml生成ロジックに問題があった。要素データが2回追加されていました。 – user1374266

答えて

-1

私は同じような問題を一度経験しました。 XMLにキューサイズを加えて解決しました。私の場合、次のようなものでした:

<task> 
    <name>Ventas MCC</name> 
    <queueSize>100</queueSize> 
    <queueNames>trashQueue</queueNames> 
    <queryTasks> 
    <queryTask>...</queryTask> 
    </queryTasks> 
</task> 

クエリはバッチで起動されました。