我有一系列通过 Datastage 导入数据库的 CSV。我正在尝试使用 RCP 和模式文件来做到这一点。
我使用 CSV 随附的随附主表列表从 CSV 生成模式文件。
我遇到了一个问题。当我发现一个数字是特定表中的最后一列时,它就是模式文件中的最后一个条目。我的问题是空处理。CSV 以逗号分隔,字符串用双引号括起来,null 没有数据。
主列表将其中一些数字列标识为 number(),这表示输出的 oracle 描述。为此,我正在尝试这个:
:nullable decimal[38,9] { default=0, text }; 在此示例中,比例和精度默认为 38,9....除非在其他地方指定,例如十进制 [10,2]。
空条目导致此错误:验证导入/导出函数时:APT_GFIX_Decimal::validateParameters:十进制“文本”格式为可变长度,未指定外部长度;您可能应该指定适当的“宽度”属性;外部格式:{text, padchar=32, nofix_zero, precision=38, scale=9, round=trunc_zero, ascii}。[十进制/impexp.C:939]
所以我尝试了: :nullable decimal[38,9] { default=0, text, width=47 }; 在此示例中,比例和精度默认为 38,9。宽度是两个值的总和(38 + 9 = 47...除非在别处指定,例如十进制[10,2]。
我得到:ODBC_Connector_3,0:输入缓冲区溢出字段“”,偏移量:### [impexp/group_comp.C:6006]
最后,我完全按照它所说的做了: :nullable decimal[38,9] { default=0, text, padchar=32, nofix_zero, precision=, scale=, round=trunc_zero, ascii, width=47 } ; 在此示例中,比例和精度默认为 38,9。宽度是两个值的总和(38 + 9 = 47...除非在别处指定,例如十进制[10,2]。
第三次,我收到此错误:输入缓冲区溢出字段“”,偏移量:### [impexp/group_comp.C:6006]
有没有人遇到过这个?仅当十进制是表中的最后一列时才会发生这种情况。
我的记录设置是:{intact, final_delim=none, record_delim='\n', charset='UTF8', delim=','}
非常感谢。