解决方案:
1. 检查数据文件是否能预览: sequence File组件进行view Data操作,检查 表定义 抽取长度, 假如报错, 则属于以下两种可能问题:
可能报错 “record delimiter EOF...”无法识别等,
(1)数据文件格式与sequence File组件下 Format属性不匹配,导致无法解析,需检查Format属性配置; 在linux环境下record delimiter 需要设置为
new Unix Line, 另外它也表示 数据文件也需设置编码为 UNIX编码,不然无法识别;
(2)数据文件本身具有 问题(如乱码,编码集不统一)
2.假如数据文件预览没问题,但在运行过程中出现 “最大值” 大于“实际值”问题:
则需考虑无法 进行 数据库表插入,
一般解决方案为,修改数据库编码集为 ZHS16GBK编码;
统一编码集:
DS客户端:GB2312 或者GBK ,在DS administrator下设置;
DS project NLS编码: GBK
数据库编码 : ZHS16GBK
统一编码集原因:
因为当前进行开发的DS客户端为windows操作系统,windows操作系统默认编码集为GBK, 为了防止数据库--> DS 客户端出现数据乱码,和数据无法交互(如插入,转化)等问题,所以初始化配置为GBK 可以 有效防止由于编码集 产生的问题;
附: 假如数据库中的编码集 不能进行修改,则需要在DS 下的Transformer 组件中,进行字符类型转化,相关函数用法 请去网上查询;