如何把proc的程序,变成dll

解决方案 »

  1.   

    SQL> SET LONG 1000
    SQL> select dbms_metadata.get_ddl('PROCEDURE','ORA$_SYS_REP_AUTH') from dual;DBMS_METADATA.GET_DDL('PROCEDURE','ORA$_SYS_REP_AUTH')
    --------------------------------------------------------------------------------  CREATE OR REPLACE PROCEDURE "SYSTEM"."ORA$_SYS_REP_AUTH" as
    i integer;
    x integer;
    begin
      i:=dbms_sql.open_cursor;
      dbms_sql.parse(i,'GRANT SELECT ON SYSTEM.repcat$_repschema TO SYS ' ||
                     'WITH GRANT OPTION',dbms_sql.v7);
      x:=dbms_sql.execute(i);
      dbms_sql.parse(i,'GRANT SELECT ON SYSTEM.repcat$_repprop TO SYS ' ||
                     'WITH GRANT OPTION',dbms_sql.v7);DBMS_METADATA.GET_DDL('PROCEDURE','ORA$_SYS_REP_AUTH')
    --------------------------------------------------------------------------------
      x:=dbms_sql.execute(i);
      dbms_sql.parse(i,'GRANT SELECT ON SYSTEM.def$_aqcall TO SYS ' ||
                     'WITH GRANT OPTION',dbms_sql.v7);
      x:=dbms_sql.execute(i);
      dbms_sql.parse(i,'GRANT SELECT ON SYSTEM.def$_calldest TO SYS ' ||
                     'WITH GRANT OPTION',dbms_sql.v7);
      x:=dbms_sql.execute(i);
      dbms_sql.parse(i,'GRANT SELECT ON SYSTEM.def$_error TO SYS ' ||
                     'WITH GRANT OPTION',dbms_sql.v7);
      x:=dbms_sql.execute(i);
      dbms_sql.parse(i,'GRANT SELECT ON SYSTEM.def$_destination TO SYS ' ||DBMS_METADATA.GET_DDL('PROCEDURE','ORA$_SYS_REP_AUTH')
    --------------------------------------------------------------------------------
                     'WITH GRANT OPTION',dbms_sql.v7);
      x:=dbms_sql.execute(i);SQL>
      

  2.   

    hdkkk(diablo2)大哥:
        您的程序很好,可是我看不懂,您能不能告诉我,我应该看什么资料。或者给个一点注释。
    谢谢,谢谢!
      

  3.   

    oracle的文档里有。你用dbms_metadata.get_ddl
    搜索即可tahiti.oracle.com
      

  4.   

    看看OEm里面sys用户的程序包,有dbms_metadata
      

  5.   

    可以 把用开发工具把代码编成 DLL 呀~