‘OS命令返回2’的信息标记着从SAP使用ODILKM SAP ERP为Oracle(SQLLDR)导出的平面文件记录时被意外截断。
适用于:
Oracle数据集成器-版本:10.1.3.5.2和更高版本【发布:往后版本】
文档里的信息适用于任何平台。
症状
当试图使用版本10.1.3.5.3与ODI知识模块LKM的SAP ERP的Oracle(SQLLDR)从SAP实例中提取的数据,在Unix系统上运行时,加载的步骤与以下数据加载到的分段终止消息:
com.sunopsis.dwg.function.SnpsFunctionBaseException : OS command returned 2
at .........................OSCommand actionExecute....
值得注意的是,提取的平面文件包含了截断为500个字符长度的记录。
原因
错误的消息信号,最终从SQLLDR的实现过程是无法解析的平面文件截断记录。
进一步的分析证实,问题的主要原因是提取过程中创建截断记录文件造成的。
查看知识模块的详细资料,调查结果显示,被称为提取数据的命令行包含一个记录,这个值设置成了500;
line(500) TYPE C:
这个似乎是问题的根源。
解决方案
实施解决方案,请执行如下步骤:
复制你当前知识模块调用Oracle的LKM SAP ERP打开复制的KM并且编辑命令行提取数据。
编辑包括如下记录:
line(500) TYPE C:
更换一个新的值并且大于预期的最高纪录值500长度的解压缩文件,重新测试问题。