2

我有一个源表 mySchema.FRUIT,它使用 db2 import 命令从平面文件中加载。

对于具有特殊字符的字段,我在插入 FRUIT 表之前使用以下 unix 命令进行正确转换:

 iconv -c -f UTF8 -t iso8859-15 $MY_DATA_DIR/FRUIT_TEMP.dat > $MY_DATA_DIR/FRUIT_FINAL.dat

FRUIT_FINAL.dat 是加载到 mySchema.FRUIT 表中的内容。

现在,我有一个 spring 批处理程序,它从 mySchema.FRUIT 表加载目标表 mySchema.PROCESSED_FRUITS。所以它是一个简单的 DB to DB spring 批处理程序。

但是,包含特殊字符的字段出现错误:

例如,列是值为“SÃ?O PAULO”的国家/地区列

当 itemWriter 将此列插入到目标表中时,出现以下错误:

EXECUTE 或 OPEN 语句中的主变量值太大而无法相应使用。代码:-302

对于上面的例子,有问题的列在源表和目标表中的所有方面都是相同的,即 VARCHAR(50)

如何在 Spring Batch Job 中处理这些特殊字符?

4

0 回答 0