详情如下:
用dblink啊 当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,
通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。下面讲介绍如何在本地数据库中创建dblink
创建公开数据库链接
CREATE PUBLIC DATABASE LINK “数据库链接别名”
CONNECT TO “登陆用户” IDENTIFIED BY “登陆密码”
USING '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = IP)(PORT = 1521)))(CONNECT_DATA =(SID = SID)))';
例如:
CREATE PUBLIC DATABASE LINK MYDBLINK
CONNECT TO USER1 IDENTIFIED BY PASSWORD1
USING '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 10101010)(PORT = 1521)))(CONNECT_DATA =(SID = ORA10)))';
需要安装配置oracle的透明网关
oracle11g database 在windows 下 的透明网关下载地址请访问官方网站
>
这个commit应该是本机的,和dblink没什么关系,而且就算你找到的dblink的那个session那么也不行,以为这个session在dblink的 *** 作完成后已经关闭了。
个人感觉不要这么远程insert,最好是调用一个那个数据库上的过程去insert这样的话,在那个过程中commit肯定是没有问题的。
如果必须要这么写,那么可以加入一条insert和一条delete
就是上面是正常insert的语句。
下面有一条delete(这条删除一个绝对不可能出现的一条试试)
按照你的说法,第二个事务提交时,第一个事务才能commit。可是这样会出现问题,因为如果你大量提交,那么数据库会因此夯住的,所以你看看第一个办法行不行,我觉得第一个办法还靠谱点。
以上就是关于数据库与数据库之间怎么推送全部的内容,包括:数据库与数据库之间怎么推送、oracle 数据库 dblink怎么用、ORACLE中怎样建DBLINK到异构数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)