最近在做mysql数据库实时同步到mssql数据库的方案,花了一周时间,测试通过了,在实际机器上测试出现了若干问题。第一个问题就是在mssql上链接mysql的问题。
第一步,安装 Mysql ODBC
首先要在mssql的机器上安装mysql ODBC,如果没有安装将报错:
但安装不一定就能成功,比如会报错1918:
出现这种情况的原因是服务器上没有安装运行库,安装 MS C++后,再安装ODBC就没问题了。
第二步,新建ODBE
在控制面板-管理工具-数据源(ODBC)-用户DSN-添加-MySQL ODBE 5.1 Driver,测试看能否连接mysql。
第三步,链接mysql服务器
EXEC sp_addlinkedserver
@server = 'MySQL',
@srvproduct='MySql' ,
@provider = 'MSDASQL',
@provstr = 'Driver={MySQL ODBC 5.1 Driver};
Server=IP地址或localhost;
Database=默认数据库名称;
User=mysql数据库用户名,一般为root;
Password=用户密码;
Option=3;'
增加权限:
EXEC sp_addlinkedsrvlogin
@rmtsrvname='MySql' ,
@useself='false' ,
@locallogin='sa' ,
@rmtuser=' mysql数据库用户名,一般为root ' ,
@rmtpassword='用户密码'
如果连接没有问题的话,在mssql管理器中可以看到mysql数据库了。