本人在本地建立了一个远程数据库链接(测试链接处于激活状态),然后在本地数据库建立了一个同义词(指
向远程数据库的一个表),最后编写访问程序,读数据正常,修改数据后,在本地的程序中显示数据已经被修
改,但在远程数据库端看,数据表并没有被修改,不过把运行的程序退出后,再在远程数据库端看,数据表记
录被修改了。也就是说,我的程序修改的记录并没有在远程数据库上生效,但程序退出后,最后一次的修改在
在远程数据库上生效了,这是为什么?如果改进才能在程序未退出的情况下,及时更新远程数据库表记录?请
各路高手指点。

解决方案 »

  1.   

    数据修改后有没有执行commit?
      

  2.   

    不是的,我使用的是记录集操作方法(->Edit();,->Update();),对于本地表操作正常,但对于远程连接与同义词操作,就发生这样的情况了.
      

  3.   

    也不是,仅仅用远程连接与同义词操作才发生这样的情况,如果程序直接通过ODBC连接到远程数据库就没有问题.真是奇怪.
      

  4.   

    这种情况估计是你的应用程序的处理机制造成的,应该不是oracle的问题
      

  5.   

    使用.Net VC,给我的感觉是,修改数据后,远程链接的数据库没有响应,但为什么程序退出后,最后一次的修改生效了(即数据库有响应了).
      

  6.   


    这个难道不是没有commit的问题吗? 你通过手工方式试试。