ODI-1228: 目标ORACLE连接WL_ORACLE_LY_SDC_上的任务JG_P_DEPT (控制) 失败。
Caused By: java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符
在操作-》会话列表-》代理-》本地(无代理):对应的执行提示信息,中打开这个提示的出错信息的,选中‘代码’这个功能,你会发现这个流程出错的原因。如:
insert into SDC.E$_JG_P_DEPT
(
ODI_PK,
ODI_SESS_NO,
ODI_ROW_ID,
ODI_ERR_TYPE,
ODI_ERR_MESS,
ODI_ORIGIN,
ODI_CHECK_DATE,
ODI_CONS_NAME,
ODI_CONS_TYPE,
DEPTID,
DEPTTYPE,
DEPTCODE,
DEPTNAME,
EMAIL,
LXR,
ORDERNO,
REMARK,
ISVALID
)
select SYS_GUID(),
1045001,
rowid,
'F',
'ODI-15064: 主键 SYS_C0025311 不是唯一的。',
'(256001)t.LY_JG_SDC_DEPT',
sysdate,
'SYS_C0025311',
'PK',
_P_DEPT.DEPTID,
_P_DEPT.DEPTTYPE,
_P_DEPT.DEPTCODE,
_P_DEPT.DEPTNAME,
_P_DEPT.EMAIL,
_P_DEPT.LXR,
_P_DEPT.ORDERNO,
_P_DEPT.REMARK,
_P_DEPT.ISVALID
from SDC.I$_JG_P_DEPT _P_DEPT
where exists (
select SUB.DEPTID
from SDC.I$_JG_P_DEPT SUB
where SUB.DEPTID=_P_DEPT.DEPTID
group by SUB.DEPTID
having count(1) > 1
分析:
可以发现‘_P_DEPT’这是表在目标库是没有,所以会出错。而为什么会出现这个错误,是因为在导入表时使用‘掩码’做模糊查询而且‘要从表别名删除的字符’这个信息你并没有清空,做成的。
解决:
导入表时‘要从表别名删除的字符’这个输入的内容清空,这样就没有问题了