现在公司通过bde来连接oracle的存储过程,在刚开始的1个月没有任何的问题,调用都成功,现在突然出现一定的概率报错,而且报错和bde的连接时间有关,在刚连接的时候,调用正常,运行了1~2个小时,就出现50%的概率,运行3~4个小时就出现100%的概率,并且如果这个时候把存储过程编译一下或者把连接进程重启一下,问题就解决了,在跟踪两者之间的参数发现,参数完全正常,就是看连接时间来出现程序报错
注明:这个错误是从存储过程中注明的,也就是说是存储过程报的,但是通过现象来判断,我觉得是bde连接的问题。
程序版本:oracle 9.0.1  bde 5.0.1
请各个大侠救命!!

解决方案 »

  1.   

    是连接超时的问题吧,我看不是BDE的错,可能你的代码中运行存储过程预编译,而后没有放出所占用的数据库资源,(这个命令好是P***,UNP***,具体我忘了,帮助中有详细的说明自己看吧)
      

  2.   

    报的是 ORA-01403:未找到数据
      

  3.   

    报的是 ORA-01403:未找到数据
    的意思是说你的语法没有问题,只是结果上出现了以外的情况,检查你的存储过程是不是在什么条件下查询赋值的语句会出现差不到的情况。同时还应该判断是不是会出现多条结果的问题,在存储过程里面价一个判断,而且在每次使用存储过程的时候必须释放占有的内存和同时必须free一些动态生成的query等数据库控件,避免连接次数和时间的问题出现。