用java做的程序,读取A服务器上边的oracle里边的一个表,将最新的数据(根据id)读取出来后,再写入到另外一台服务器B上边的oracle数据库里边,问题出来了,先往A里边插入一条数据,然后执行读取的程序,结果没有读到最新插入的那条,但是,在sqlplus 里边select一下,可以知道那条数据是已经插入数据库里边了的,也就是说在执行java程序读取之前,数据是已经成功插入了的(在sqlplus 里边insert的),就是无法获取最新插入的那条.但是,每当我在sqlplus里边,select一遍之后,再执行java程序,又可以读取到最新那条了,我要不先在sqlplus里边select一遍的话,是获取不到的.注,java程序读取oracle里边的数据没有问题,前边所说的,只是执行java程序的时候,没办法获取到最新的,但程序执行后,返回的结果是次新的那条数据.在sqlplus里边select一遍之后,就可以读取到最新的了.盼高人分析解答
你在java程序里insert后如果不提交,在本次对话中是可以读到的,因为在一个事务中,但你再打开sqlplus去查,应该也查不到的.