qlikview从mysql中抽取数据的过程,mysql数据同步到sqlserver的过程

由于工作中用到的是mysql,偶尔需要做报表,使用的是qlikview,
qlikview从mysql中抽取数据的问题一直未能解决掉。看了网上使用ODBC的方法但是对我来说没什么用。后经过探索,算是基本上解决了这个问题,说到底就是把mysql的数据同步到sqlserver,qlikview在从sqlserver抽取数据。现奉上教程。

使用的工具:
①mysql-installer-community-8.0.18.0
②mysql驱动程序:mysql-connector-odbc-8.0.18-winx64
③sqlserver2008r2
④qlikview

一、ODBC中在系统DSN中添加MYSQL和SQLSERVER驱动程序;
Windows10系统直在左下角搜索 ‘ODBC’就可以找到位置:
名称自己命名
服务器地址一般本地服务器 mysql直接填写 localhost,sqlserver填写127.0.0.1,感觉两个一样没啥区别;
在这里插入图片描述
在这里插入图片描述
配置好上面的东西就可以把mysql中的数据库同步到sqlserver中了;
代码如下:

EXEC master.dbo.sp_addlinkedserver   
@server = N'MYSQL',   
@srvproduct=N'MySQL',   
@provider=N'MSDASQL',   
@provstr=N'DRIVER={MySQL ODBC 8.0 ANSI Driver}; SERVER=127.0.0.1;   
 DATABASE=skytech; USER=root; PASSWORD=1234567890; OPTION=3'  

注意用户名密码。

刷新sqlserver,点击 服务器对象–>链接服务器–>MYSQL–>目录,会看到你的mysql里面的所有数据库的名字,此时还不能直接使用,需要将MYSQL里面的表数据复制到你在sqlserver里面的数据库中;

在sqlserver中 新建一个数据库,例如:create database test;
在运行如下代码;(我要将我mysql里的skytech数据库下的‘归属部门调整表修正’复制到test数据库中)

SELECT * INTO [test].dbo.归属部门调整表 
FROM openquery(MYSQL, 'SELECT * FROM skytech.归属部门调整表修正')  

此时sqlserver就已经同步好了mysql中的数据,需要其他表的数据就修改上面的表名。

建议 mysql里的表字段名最好都是英文的,我在做的过程中发现有些中文字段名会出现乱码的情况,这个问题未能解决。

现在MYSQL数据库中的数据已经迁移到了SQLserver数据库中,qlikview可以直接连sqlserver了。
由于工作关系,原数据的更新是在MYSQL中完成的,不能每次都在sqlserver中删除在同步数据,所以在qlikview中:

第一步:OLE DB 连接sqlserver;
第二步:删除sqlserver中的MYSQL服务器;
第三步:同步mysql的数据;
第四步:删除sqlserver中的目标表,就是上面test数据库里面的表;
第五步:将MYSQL服务器中的数据同步到test数据库中;

说的可能不太清楚,反正就这个意思,理解就好!!!!!
在这里插入图片描述
有什么不明白的请QQ:1139902637,,,不过你的问题我不一定能解决。。。。

这是22年新加的,上面的内容不用看了,直接看我这个:
https://blog.csdn.net/weixin_44081470/article/details/123957670

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值