SQL Server 2005 定时从MySQL读取数据

最近需要实现这样一个功能,游戏的数据库是MySQL,而我做的统计的数据库是SQL Server 2005,每天需要将多台MySQL的数据统计到SQL Server中,我们知道在SQL Server 2005 中可以才用SQL Server 代理来实现定时操作,但是如何访问MySQL呢?

  1. 需要安装mysql-connector-odbc-5.1.4-win32.msi,可以去MySQL是官方网站下载。
  2. 添加系统DSN,选择MySQL ODBC 5.1 Driver ,如图:

  3. 执行如下sql

EXEC sp_addlinkedserver @server = 'test', @srvproduct='MySQL',

@provider = 'MSDASQL', @datasrc = test

GO

以上sql只需执行一次即可

  1. 然后就可以直接读取mysql的数据了

EXEC sp_addlinkedsrvlogin

@rmtsrvname='test',@useself='false',@locallogin='sa',@rmtuser='root',@rmtpassword='root'

insert into Sys_online

( areaid, [online], createDate)

 

(

SELECT '1' as areaid, [online], createDate FROM OPENQUERY (test ,'select online, createDate from t_server_log where createDate between date_sub(current_date(),interval 1 day) and current_date()' )

)

记得修改以上sql的中的mysql的用户名密码

posted @ 2008-07-18 10:48  TomYu  阅读(1598)  评论(0编辑  收藏  举报