第一步 :在MySql服务器上安装与系统对应的 MySql-Connector-ODBC 官方下载地址 安装过程中可能会报 缺失 msvcr100.dll 的错误,这需要你根据系统到网上下载对应的这个dll文件。(当初遇到这个问题的时候,在网上试了很多的这种文件 最后才找到一个合适自己
第一步:在MySql服务器上安装与系统对应的 MySql-Connector-ODBC
官方下载地址
安装过程中可能会报 缺失 msvcr100.dll 的错误,这需要你根据系统到网上下载对应的这个dll文件。(当初遇到这个问题的时候,在网上试了很多的这种文件 最后才找到一个合适自己的)
如果换了几个这个dll还是无法解决,可以考虑下载安装一个较低一点的版本 (当初我尝试5.3.4失败了一上午,结果换成5.1 一路顺畅)
第二步:设置MySql Connector
控制面板-管理工具-数据源(ODBC),在【ODBC 数据源管理器】的【系统DSN】中点击【添加】
在弹出的窗口中如下图填写
其中 Test 是该数据源的命名,在之后才会用到
TCP/IP Server即当前服务器的IP,Port不用修改
User和Password就是数据库的账号密码
Database就是想要建立连接的数据库
填完之后,点击【Test】 如果弹出连接成功,则表示可成功创建。
注意:测试连接情况的时候,可能会报出【Host 'XXX' is not allowed to connect to this MySQL server】
这是因为MySQL没有开启远程访问权限。
解决方案可以参考这篇文章【戳这里】
第三步:创建链接服务器
<span>exec</span><span> sp_addlinkedserver </span><span>@server</span><span>=</span><span>'</span><span>Test</span><span>'</span>, <span>--</span><span>这是之前创建MySql Connector时的data source name</span> <span>@srvproduct</span><span>=</span><span>'</span><span>MyConnector</span><span>'</span>, <span>--</span><span>这个随便</span> <span>@provider</span><span>=</span><span>'</span><span>MSDASQL</span><span>'</span>, <span>--</span><span>这是固定的</span> <span>@datasrc</span><span>=</span><span>NULL</span><span>, </span><span>@location</span><span>=</span><span>NULL</span><span>, </span><span>@provstr</span><span>=</span><span>'</span><span>Driver={MySQL ODBC 5.3 ANSI Driver};Server=115.11.111.11;Database=myDatabase;User=root;Password=mypassword;Option=3;</span><span>'</span>, <span>--</span><span>连接字符串</span> <span>@catalog</span> <span>=</span> <span>NULL</span> <span>go</span> <span>exec</span><span> sp_addlinkedsrvlogin </span><span>@rmtsrvname</span><span>=</span><span>'</span><span>Test</span><span>'</span><span>, </span><span>@useself</span><span>=</span><span>'</span><span>false</span><span>'</span><span>, </span><span>@rmtuser</span><span>=</span><span>'</span><span>root</span><span>'</span><span>, </span><span>@rmtpassword</span><span>=</span><span>'</span><span>mypassword</span><span>'</span><span>; </span><span>GO</span>
这个比较简单,至于连接字符串,这有个在线生成器
第四步:测试连接及使用
测试连接方式如下图
链接服务器的使用
主要是利用函数OpenQuery
<span>SELECT</span> <span>*</span> <span>FROM</span> <span>OPENQUERY</span> (Test ,<span>'</span><span>select * from Table001</span><span>'</span><span>) </span><span>UPDATE</span> <span>OPENQUERY</span> (Test , <span>'</span><span>SELECT name FROM Table001 WHERE id = 1</span><span>'</span><span>) </span><span>SET</span> name <span>=</span> <span>'</span><span>ADifferentName</span><span>'</span> <span>INSERT</span> <span>OPENQUERY</span> (Test , <span>'</span><span>SELECT name FROM Table001</span><span>'</span><span>) </span><span>VALUES</span> (<span>'</span><span>sss</span><span>'</span><span>) </span><span>DELETE</span> <span>OPENQUERY</span> (Test , <span>'</span><span>SELECT name FROM Table001 WHERE name = </span><span>''</span><span>sss</span><span>'''</span>)
其中Test是创建的链接服务器的名字