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, informatica, navicat premium 等等


yaoqi19870831


不能直接访问,需要相关的组件进行转换


分享到:


相關文章: