别人在oracle里写的存储过程,应该是没问题的,因为我在远程服务器上测试过该存储过程,我用的工具是PL/SQL,我现在是把存储过程放到了本地,但在PL/SQL里右键test该存储过程的时候,问题出现PL/SQL卡死的情况,不知是何原因,请高手帮忙看一下!

解决方案 »

  1.   

    存储过程编译通过了没?
    还有就是 要test存储过程 好像是要system或者是sys用户登录
      

  2.   

    1.在你本机编译通过了么?
    2.你本机的其他过程有这样的现象么?
    3.卡死是指时间比较长  还是就是需要重新启动pslql developer?
    4.该过程是在package里面么?如果是,试着删掉该包中的其他function,再test 会出现这样的状况么?
      

  3.   

    1.在你本机编译通过了么? --本机无法通过编译,也是卡死
    2.你本机的其他过程有这样的现象么?  --其他过程都没问题,可以test
    3.卡死是指时间比较长  还是就是需要重新启动pslql developer? --需要重启PS/SQL,不然等无限长时间
    4.该过程是在package里面么?如果是,试着删掉该包中的其他function,再test 会出现这样的状况么? --过程不在package里
      

  4.   


    不是非要system或sys的权限吧?只要有该存储过程的执行权限即可吧?
      

  5.   

    编译也能卡死,太奇怪了吧。你看你的过程中是不是用到其它的东西了。例如dblink之类的。
      

  6.   

    存储过程里就是三个游标,在服务器上编译很快,test也没问题,但放到本地编译就出现卡死的情况了!
      

  7.   

    [email protected] 这是存储过程里查询的一个表,可能就是dblink,我对oracle相当不熟,请问这种情况怎么解决?
      

  8.   

    看用法这就是一个DBLINK ,如果这样的话,你估计也得建 一个了
      

  9.   


    这个是dblink,你本地也需要建立一个rdlt.regress.rdbms.dev.us.oracle.com 
    还有你检查下你的过程中还有用到其它你本地没有的东西没,没有的话在本地都必须建立好
      

  10.   

    在我本机建立一个DBLINK么?应该怎么建立呢?上网查需要的时间太长,帮我写个步骤吧,多谢了!
      

  11.   

    create database link rdlt.regress.rdbms.dev.us.oracle.com
      connect to username identified by "passwd"
      using 'db1';只能给你说下格式,rdlt.regress.rdbms.dev.us.oracle.com是dblink名字
    username是连接远程数据库的用户名, "passwd" 中是密码
    'db1' 是要建立的数据库服务器上配置的远程数据库的net服务名.username,passwd,dbname 最后这三个项都要和你实际环境中的相同才行。
      

  12.   

    Compilation errors for PROCEDURE RDL.CVP_MATCHError: ORA-04052: error occurred when looking up remote object [email protected]
           ORA-00604: error occurred at recursive SQL level 1
           ORA-12170: TNS:Connect timeout occurred
    Line: 1
    Text: CREATE OR REPLACE PROCEDURE RDL."CVP_MATCH"
    这是编译中,连接很长时间以后报的错误!
      

  13.   

    你先把[email protected] 这个数据库连接建立好吧,就是这个原因了