odi-1217:会话“XXXXXXXXXX“失败,返回代码为7000。
odi-1240:执行加载操作时流 ”XXXXXXX“ 失败,
caused by:com.sumopsis.dwg.function.smpsfunctionbaseException:odi-30038:操作系统命令返回了1
在odi出现这个错误一般是因为你的sql语句出现了问题,比如我遇到的是:
在跨数据库时,的数据类型转换的过滤sql语句不合做成,char转varchar时用LTRIM和RTRIM时做成的。
可能是创建bcp的原因,所以将数据发送到临时bcp文件,引用了转换语句做数据没法发送给bcp文件吧。
解决:
这个时候只要在源表的库中创建对应的视图,并把数据类型的转换移到这个视图中,这里可以通过:
CONVERT(VARCHAR(20),t.student_id)
来完成数据类型的转换。
这样再通过这个视图odi就不用作数据类型的转换了。
- 这样做还一个好处是,可以提高对数据库的资源利用,提高跨数据库在数据交互时的数据流传输