MS-Sqlserver访问MySql总结

MS-Sqlserver访问MySql总结,第1张

概述公司要做一个数据统计系统,网站用的是MySql数据库,而系统用的是SqlServer数据库,为不影MySql数据库的使用,数据需定时同步到SqlServer数据库中。小弟的解决方法如下,大家共同交流。 1:Windows服务器上安装SqlServer2000或2005,并安装MySql-ODBC驱动 (mysql-connector-odbc-5.1.8-win32.msi  2.5MB) 2:配

公司要做一个数据统计系统,网站用的是MysqL数据库,而系统用的是sqlServer数据库,为不影MysqL数据库的使用,数据需定时同步到sqlServer数据库中。小弟的解决方法如下,大家共同交流。

1:windows服务器上安装sqlServer2000或2005,并安装MysqL-ODBC驱动

mysql-connector-odbc-5.1.8-win32.msi  2.5MB

2:配置windows ODBC数据源

控制面板—>管理工具-->数据源 (ODBC)-->选择系统DSN选项卡

点击添加按钮—>选择MysqL ODBC 5.1 Driver

点击完成按钮d出MysqL Connector/ODBC配置对话框

(填写此ODBC的数据源名,MysqL的服务器地址,端口,用户名,密码,对应数据库)

点击Details下面的Character Set选择UTF8,(sqlServer和MysqL编码方式默认不一样,中文会出现乱码)

至此ODBC数据源配置完毕。

3:配置sqlServer(这里用2000)数据库

打开企业管理器--->安全性--->鼠标右击链接服务器--->新建链接服务器d出配置框

链接服务器:请输入有意义的名称

其他数据源:Microsoft olE DB ProvIDer for ODBC Driver

链接服务器:请输入有意义的名称

数据源:刚才配置的ODBC数据源

4:写存储过程提取数据

sqlServer访问MysqL的语句如下:

SELECT * FROM OPENquery(MysqL_UCENTER,'SELECT uID,RTRIM(username) as username,FROM_UNIXTIME(regdate) AS dateregdate
  FROM uc_members ;set names gb2312')
  WHERE dateregdate>=''+@starttime+'' AND dateregdate<''+@endtime+''

问题点:

(1)由于MysqL里有些字段用char类型,所以数据后面会有空格用RTRIM()将空格去掉,否则会报错。

(2)MysqL很多时候日期用的是整数,整数确实比日期格式检索速度快不少。本人对MysqL数据库了解不是很深。所以还是把整数时间专为标准日期格式 FROM_UNIXTIME(regdate)

(3)设置MysqL里的查询编码方式 set names gb2312

(4)sqlServer里的OPENquery()函数使用,函数内不能传入参数,所以将参数放在函数外面。有关此函数的使用大家可以在网上查一查

(5)大家在sqlServer里自定义一些函数,用于日期格式和整形时间转换

select (datediff(ss,'1970-01-01 08:00:00','2011-07-10'))-----将时间转换为秒

CREATE FUNCTION [dbo].ToDateTime(@sec int)
returns datetime
AS
 BEGIN
   declare @dt datetime
   if (@sec is not null)
  BEGIN
    set @dt=CAST((@sec/3600.000 +613616)/24.000 as datetime)
  END
   else
  set @dt='2000-01-01 00:00:00.000'
   return @dt
 END   -----将秒转换为时间

要怎么样取数据大家可以多试试。

运行此查询将数据从MysqL里取出来

5:将取出的数据写入sqlServer数据库中,这里就不介绍了。

6:sqlServer上的存储过程封装,日志记录等,要完成什么样的记录,以及下次通过什么记录点(一般都是一个时间戳)再次提取,根据不同的业务作出不同的方案,要有一定的T-sql功底哦

呵呵,小弟头一次发博文,还望各位多多指教。

总结

以上是内存溢出为你收集整理的MS-Sqlserver访问MySql总结全部内容,希望文章能够帮你解决MS-Sqlserver访问MySql总结所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1180834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存