首先,你的情况是属于数据库中数据表之间的一种关联关系,不是你说的两个数据库之间的数据调用。
不好意思,我看错了。
这样的方式,用存储过程处理最简单不过了,先通过查询语句,将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服务器中不同数据库之间的数据同步等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)