本文目录
mysql数据库可以连接sqlserver数据库吗,想要定时获取数据该怎么办
根据我所知道的回答一下这个问题。
虽然mysql和sqlerver均属于关系型数据库,可以执行SQL查询语句,但是mysql数据库并不能直接连接而sqlserver数据库,反之亦然。需要通过“中间人”完成这件事。
如果需要定期的从sqlserver数据库中取出数据放到mysql中,建议使用编程语言实现。该编程语言必须同时有mysql接口和sqlserver接口。由于题主的需求不是很复杂,只是定期的从sqlserver数据中提取数据到mysql数据库,建议考虑使用脚本语言:pyton或者php。
pyhon实现方法
step1:python读取sqlserver的数据
python读取sqlserver数据的数据表的内容需要用到pymssql这个第三方库,可以使用pip安装;
相关代码如下图所示,用于读取sqlserver数据库的内容。
step2:python将读取的数据存入mysql数据库
python操作mysql数据库需要第三方库MySQLdb的支持,可以通过pip的方式安装;
如下显示了通过python执行insert语句写入mysql数据库的操作。
step3:将上述代码定期轮询执行
将上述代码通过定时的方式执行,加入是linux系统,可以使用linux的定时执行任务取执行;
也可以采用python的定时任务去执行,推荐使用第三方库,apscheduler去完成这个工作。下图显示了该库的简单应用,稍加改造就可以完成题主需求的定时任务:
php实现方法
php的实现方法与python的实现方法类似,需要mysql数据库和sqlserver数据库的相关插件,也是如下所示的3个步骤,不同的是需要安装一个简单的web服务,才能运行php代码,推荐使用apache。
step1:php读取sqlserver的数据
step2:php将读取的数据存入mysql数据库
step3:将上述代码定期轮询执行
对于从sqlserver中读取数据,导入mysql中,大家有什么看法呢,欢迎在评论区,留言讨论。
如需更多帮助,请私信关注。谢谢
ETL工具,Kettle和DataStage各自有什么优缺点,目前哪个更流行一些
kettle是小数据需求用 唯一的优点就是免费
1、没有进程管理,当表被锁不好查原因,也无法终止进程,也不能控制最大进程数。
2、数据抽取不能自动分包,也没有类似ABAP那种高效查询语句如SELECT FROM .. ALL ENTRIS IN.. 大数据处理很慢,大数据量日处理业务无法完成。
3、增量要指定字段无法自动处理。
4、无法调试,调试不会真抽数据。
5、计划处理链需要命令指定非常麻烦没有界面操作,处理链中途出错不能继续跑或者跳过继续处理。
6、无法对各个处理细节日志以及记录处理花的时间。
7、字段不能共用,字段没有类似本位币 单位的关联,没有主数据字段概念。
8、处理没有信息包概念,没有处理日志。
9、没有版本控制,上线不是传输tr。
10、另外没有对外发布ws,odata接口功能
报表功能就不说了,权限控制也不强大,而且底层数据库也不是多维信息立方体结构,字段不区分指标与特征。。。。。