0

使用以下代码出现以下错误:

BEGIN
    sys.dbms_ijob.run(25950);
   COMMIT;
EXCEPTION
   WHEN others
   THEN
      DBMS_OUTPUT.put_line (SQLERRM);
      RAISE;
END;

ORA-06550: line 2, column 5:
PLS-00201: identifier 'SYS.DBMS_IJOB' must be declared
ORA-06550: line 2, column 5:
PL/SQL: Statement ignored
4

3 回答 3

2

我猜你没有以 SYS 身份运行它。您需要以 SYS 身份运行它,或者您需要 DBA 授予您对包的执行权限。

于 2012-06-28T14:56:18.180 回答
2

虽然@APC 是正确的,这是一个权限问题,但我强烈质疑您为什么首先使用该DBMS_IJOB软件包。它是一个未记录的内部包,不是开发人员通常应该使用的东西。RUN在公共的、有文档的包中有一个非常好的程序DBMS_JOB,您可以使用它来代替

BEGIN
  dbms_job.run( 25950 );
  commit;
END;
/

当公共的、有文档的包有一种方法可以做你想做的事情时,没有理由使用内部的、无文档的包。

于 2012-06-28T14:59:14.803 回答
-1

我认为DBMS_IJOBOracle 数据库中没有一个包。应该是DBMS_JOB

于 2012-06-28T13:54:07.290 回答