问题描述:
asp调用oracle的存储过程时,若过程比较大,执行花费的时间较长,如3分钟则调用失败。
若过程本身比较短,则执行成功。考虑连接时间问题,将连接超时设为:1200秒,仍无效。问题:
调用小过程成功,那么程序应该是没有问题的;过程在oracle环境中执行也没有问题;
那问题在哪?是oracle的问题吗?哪位见过类似的问题,请解决一下!!

解决方案 »

  1.   

    原因分析:可能是 Profile 中的各种资源限制导致的--查看连接数据库的用户的配置文件
    SELECT USERNAME,PROFILE FROM DBA_USERS WHERE USERNAME=UPPER('&WHO');--查看该配置文件的各个限制
    COL LIMIT FORMAT A10
    SELECT RESOURCE_NAME,LIMIT FROM DBA_PROFILES WHERE PROFILE='&PROFILE';如果的确被限制了的话,建议咨询你们的DBA否则再找其它原因
      

  2.   

    首先从你的过程中找原因,在Oracle中执行时间怎么样,如果时间较长,先优化过程再看。
      

  3.   

    SQL> SELECT USERNAME,PROFILE FROM DBA_USERS WHERE USERNAME=UPPER('&WHO');
    输入 who 的值:  sczb
    原值    1: SELECT USERNAME,PROFILE FROM DBA_USERS WHERE USERNAME=UPPER('&WHO')
    新值    1: SELECT USERNAME,PROFILE FROM DBA_USERS WHERE USERNAME=UPPER('sczb')USERNAME                       PROFILE
    ------------------------------ ------------------------------
    SCZB                           DEFAULT
    SQL> COL LIMIT FORMAT A10
    SQL> SELECT RESOURCE_NAME,LIMIT FROM DBA_PROFILES WHERE PROFILE='&PROFILE';
    输入 profile 的值:  default
    原值    1: SELECT RESOURCE_NAME,LIMIT FROM DBA_PROFILES WHERE PROFILE='&PROFILE'
    新值    1: SELECT RESOURCE_NAME,LIMIT FROM DBA_PROFILES WHERE PROFILE='default'未选定行
    是不是说:资源是没有受限的?过程本身涉及两个游标,我看不好优化啊。网络超时如何解决?
      

  4.   

    考虑驱动,odbc的oracle in home92不行!