手工写Commit语句不知道是否可以,比如:
实验一:
 insert into ..
 commit;
 启动另一个连接:
 select .. 发现已经存在。
实验二:
 insert into .. (a记录)
 select .. where (a记录已经存在)
 rollback;
 select .. where (a记录不存在)
所以,我认为,你可能是因为设为自动提交,而没有写commit;语句,你试着在insert语句后边写上commit试试。

解决方案 »

  1.   

    是不是用job实现的,可能和job的参数有关.
      

  2.   

    应该不是自动提交的问题,因为记录提交由一个存储过程实现,我单独调用了一下存储过程,立刻就插进表里了。
    各位能不能在参数设置上想想办法?
    对了,在oracle的ODBC驱动力有这个参数:Batch autocommit Mode,选项有三个:Commit if only successful statments; commit up to first failing statments; Commit all succeeded statments;
    请问三个选项各代表什么意思?
      

  3.   

    是不是网络延时呢?若不是,: qiuyang_wang(小数点) 的方法就可以吧。
      

  4.   

    既然你“单独调用了一下存储过程,立刻就插进表里了”,你又是如何肯定是ORACLE的批量提交???
      

  5.   

    是啊,在你的存储过程中已经显示的进行了commit操作,
    你可以手工插入一条然后commit;
    然后用别的用户查看是否已经提交,也可以用我在上一个贴子中提到的方法查看一下,是否真正提交和提交的时间