我们需要使用 Business Objects Data Integrator 11.7 更新 AS/400 上的 DB2 数据库表中的记录。Data integrator Designer 版本是 11.7.3 安装的驱动程序是 iSeries ACCESS ODBC Driver 11.0.2,CLIENT ACCESS ODBC DRIVER 11.0.2
我们可以对单个记录进行更新,但是在进行批量更新时,我们收到以下错误消息,有人可以帮忙吗?
DBS-070401: ODBC DATA SOURCE <xxxx> Error Message for Operation
<SQLExecute>: <[IBM][iSeries Access ODBC Driver]Driver not capable.>
RUN-051005:
Execution of <Regular Load Operations> for target <XXX_XXXX> failed. Possible causes: (1) Error in the SQL syntax; (2) Database
connection is broken; (3) Database related errors such as transaction log is full, etc.; (4) The user defined in the datastore
has insufficient privileges to execute the SQL. If the error is for preload or postload operation, or if it is for regular load
operation and load triggers are defined, please check the SQL. Otherwise, for (3) and (4), please contact your local DBA.
如果 DI 作业的 select Query 仅针对一条记录进行过滤,则会生成以下更新语句并通过 Data Integrator 执行。在这种情况下,不会显示驱动程序错误。
UPDATE TIBCO_STG.PUB_AREA SET ADB_L_DELIVERY = 'C' WHERE ADB_SEQUENCE = 22849415
如果选择查询没有过滤,DI Job 会生成以下四个更新 SQL,在此 Bulk 记录更新上会显示 Driver 错误。
UPDATE TIBCO_STG.PUB_AREA SET ADB_L_DELIVERY = 'C' WHERE ADB_SEQUENCE = 22849415
UPDATE TIBCO_STG.PUB_AREA SET ADB_L_DELIVERY = 'C' WHERE ADB_SEQUENCE = 22849416
UPDATE TIBCO_STG.PUB_AREA SET ADB_L_DELIVERY = 'C' WHERE ADB_SEQUENCE = 22849417
UPDATE TIBCO_STG.PUB_AREA SET ADB_L_DELIVERY = 'C' WHERE ADB_SEQUENCE = 22849418