两个数据库之间如何互相调用数据

两个数据库之间如何互相调用数据,第1张

首先,你的情况是属于数据数据表之间的一种关联关系,不是你说的两个数据库之间的数据调用。

不好意思,我看错了。

这样的方式,用存储过程处理最简单不过了,先通过查询语句,将B中的user中online的数据值提取出来,赋值给一个临时定义的变量,然后,再对这个变量的值进行判断,如果online=1了,那么执行Update User set EXP=EXP+100 WHERE online=你查询出来的变量的值。

这种方法你可以试试看的。

路过~~

1 SQLSERVER服务器上面安装oracle客户端,配置服务命名(假设为 test)

2 在SQLSERVER服务器上面建立链接服务器,脚本如下

SQL code

SQL code-- Adding linked server:

exec sp_addlinkedserver @server = 'test' ,

@srvproduct = 'ORACLE',

@provider = 'MSDAORA',

@datasrc = 'test'

-- Adding linked server login:

exec sp_addlinkedsrvlogin @useself='false ', @rmtsrvname = 'test',

@rmtuser = 'user', --数据库用户

@rmtpassword = 'password' --密码

3 建立一个作业,通过作业调度存储过程,存储过程使用类似的语句将oracle的数据插入到sqlserver表中

SQL code

insert into sqlserver表 select from testoracle表名

4 如果要球ORACLE数据是实时增加的,并且ORACLE记录上有递增的字段,可以在SQLSERVER上面建立一个表记录上次插入的id,然后下次可以从上次的ID+1开始继续插入

SQL code

insert into sqlserver表 select from testoracle表名 where id>@id

5 防止sqlserver同步的时候oracle仍在不断的插入,每次要取一个结束ID

SQL code

select @endid=max(id) from testoracle表名

1主上修改mycnf文件:

server-id=1

log-bin=mysql-bin

2从上修改配置文件 mycnf

server-id=2

relay-log=relay-bin

read-only =1

replicate-ignore-db = mysql

replicate-ignore-db = test

replicate-ignore-db = information_schema

#replicate-wild-do-table = ttadmin

replicate-wild-do-table = my_dbstu // 所要同步的数据库的单个表

3 创建 同步的用户(主上)

grant replication client,replication slave on to rep@'104150105' identified by 'root';

4同步到主库(在从上 *** 作)

change master to master_host='10415080',master_user='rep',master_password='root';

5在从上验证:

show slave status\G;

主从同步某些表

以上就是关于两个数据库之间如何互相调用数据全部的内容,包括:两个数据库之间如何互相调用数据、如何实现两个异地数据库之间的数据传输、如何实现同一台mysql服务器中不同数据库之间的数据同步等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9669625.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存