SQL0903N COMMIT语句失败,事务在db2luw中回滚

时间:2015-03-17 13:45:54

标签: db2

我正在从事Db2 ATS工作。 这就是我尝试过的。在数据库d1上创建了一个过程p1。此过程将更新数据库d1上的表t1。从直接调用的过程p1开始,我可以更新表t1。 现在我在数据库d2上创建了一个表t2。从数据库d1我试图更新此表t2。这也很好。 从数据库d1我可以更新两个表t1& T2。

现在我尝试了同样的ATS工作。 我可以提交一个工作来调用程序p1来更新数据库d1上的表t1。工作正常并且工作正常。能够查看更新的记录。

尝试从d1提交作业,该作业将更新数据库d2上的表t2。 作业运行正常,没有任何错误。但该表未更新。

以下是我的程序&日志有人可以告诉我这里缺少的东西:

CREATE or REPLACE PROCEDURE D_JUMP12(IN text VARCHAR(32672))
p1:BEGIN
DECLARE jobno   NUMBER;
execute IMMEDIATE TEXT; 
COMMIT;
END p1

这是我调用程序的方式:

call DBMS_JOB.SUBMIT (?, 'CALL D_JUMP12(''UPDATE sample.reg.CABS SET FIRSTNAME = reg_f_fixed_char_repos(FIRSTNAME)'')',NULL);

这些是我的日志:

2015-03-17-18.37.10.360000+330 E110713390F554       LEVEL: Error
PID     : 2460                 TID : 444            PROC : db2fmp64.exe
INSTANCE: DB2                  NODE : 000           DB   : test1
APPID   : *LOCAL.DB2.150317130717
HOSTNAME: MANGO-04
EDUID   : 444
FUNCTION: DB2 UDB, Administrative Task Scheduler, AtsConnection::commit,   probe:900
MESSAGE : ECF=0x82BA00E1=-2101739295
DATA #1 : String, 124 bytes

[IBM] [CLI驱动程序] [DB2 / NT64] SQL0903N COMMIT语句失败,事务回滚。原因代码:“2”。 SQLSTATE = 40504

2015-03-17-18.37.10.364000+330 I110713946F425       LEVEL: Error
PID     : 2460                 TID : 444            PROC : db2fmp64.exe
INSTANCE: DB2                  NODE : 000           DB   : test1
APPID   : *LOCAL.DB2.150317130717
HOSTNAME: MANGO-04
EDUID   : 444
FUNCTION: DB2 UDB, Administrative Task Scheduler, AtsTask::run, probe:1300
MESSAGE : ECF=0x82BA00E1=-2101739295
DATA #1 : Codepath, 8 bytes 
4

请让我知道我在这里缺少什么

0 个答案:

没有答案