2012-07-10 40 views
8

Ho esportato alcuni dati dallo schema A (tabella x) a XML e sto leggendo lo XML e inserendo i dati nello schema B (tabella y). durante l'inserimento dei dati dopo 20000 records diceERRORCODE = -4461, SQLSTATE = 42815 in DB2

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. 

Il lotto è stato presentato, ma almeno un'eccezione verificato un singolo membro del batch.

Ho confrontato i tipi di dati delle colonne corrispondenti nella tabella xe nella tabella y sono gli stessi. È BIGINT per l'identità (incremento automatico) col e LONG VARCHAR sia nell'origine che nella destinazione.

Gentile aiuto nella risoluzione di questo problema.

+0

Il tipo di dati potrebbe essere lo stesso, ma per quanto riguarda la lunghezza dei campi? – jazzytomato

+0

Gli schemi sono nello stesso database o sono questi due diversi database? Qual è la codifica dei caratteri di loro? –

+3

Hey, grazie per l'aiuto, ho avuto il problema che c'era un problema nella mia logica di generazione xml. i dati degli elementi venivano aggiunti due volte. – user1374266

risposta

-1

Ho avuto un problema simile una volta. Ho risolto aggiungendo all'XML le dimensioni della coda. Nel mio caso era qualcosa del genere:

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

Con queueSize le query sono state avviate in batch.