最近在做mysql数据库实时同步到mssql数据库的方案,花了一周时间,测试通过了,在实际机器上测试出现了若干问题。第一个问题就是在mssql上链接mysql的问题。
第一步,安装 Mysql ODBC
首先要在mssql的机器上安装mysql ODBC,如果没有安装将报错:
但安装不一定就能成功,比如会报错1918:
出现这种情况的原因是服务器上没有安装运行库,安装 MS C++2010后,再安装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数据库了。