没遇到过这样的问题,如果sql语句语法不完整,oracle在做语法分析的时候马上会跑出异常,并停止执行。不明白是9i的问题还是pb的问题或者接口的问题。你在sqlplus中执行出错的语句情况如何?

解决方案 »

  1.   

    建议你在pb的程序中加的异常处理中加rollback.不过我确没在9i中遇到你这样的问题。
      

  2.   

    谢谢几位的帮助。语句没有规律,客户端判断应该是不行的。
    sql 文法是一批,通过循环执行。每执行一句,检查返回值,然后commit / rollback .事务很短的。找到故障现象了:
    如果传入的sql 文法超过4000 个字符,不论是否完整,在sqlplus 下执行都会造成cpu使用率 100% 我猜测是语法分析的时候最长时4000个字符,能否有办法把这个值放大啊.
      

  3.   

    我也没遇到这种情况!!如果语句出错,oracle应该马上返回错误,不会继续执行!!文法超过4000 个字符不应该是限制,因为我们也写过多与这些的,都没问题。如果需要传的文法太多,建议你把这些都写在后台,这样会提高很多效率的。