概述本文将指导您完成在SSMS中成功创建链接服务器以连接到MySQL数据库的所有必要步骤。本文分为三个部分:为MySQL安装ODBC驱动程序。配置ODBC驱动程序以连接到MySQL数据库。使用ODBC驱动程序创建和配置链接服务器。什么是链接服务器?MSSQL中的链接服务器是连接到给定服务器的其他数据库服务器,可以查询和操作其他数据库中的数据。例如,我们可以将一些MySQL数据库链接到MSSQL,并像在MSSQL上使用任何其他数据库一样使用它。1.为MySQL安装ODBC驱动程序ODBC代表开放数据库连接(连接器)。它是由微软在1990年代开发的。通常,这是用于访问数据库系统的API(应用程序编程接口)。对于非Windows操作系统,请使用JDBC(Java数据库连接)。在Windows上安装适用于MySQL的ODBC驱动程序之前,请确保Microsoft数据访问组件(MDAC)是最新的并且MicrosoftVisualC++2013RedistributablePackage已安装在您的系统上。您可以下载并安装适用于Windows的MySQLODBC驱动程序。可以安装两个版本的MySQLODBCDriverforWindows,具体取决于它将与哪个应用程序一起使用:mysql-connector-odbc-8.0.17-win32.msi用于32位应用程序。mysql-connector-odbc-8.0.17-winx64.msi用于64位应用程序。安装适用于Windows的MySQLODBC驱动程序很容易。双击下载的文件,会出现欢迎对话框:按下一步按钮后,会出现许可协议对话框。如果您同意许可协议,请按我接受许可协议中的条款单选按钮并单击下一步按钮:在安装类型对话框下,选择典型单选按钮并按下一步按钮:准备安装程序对话框显示将安装的内容和位置。按安装按钮安装ODBC驱动:几秒钟后,MySQLODBC驱动安装完成:要确认机器上安装了MySQL的ODBC驱动,可以从控制面板查看:另一种方式通过ODBCDataSourceManagementExplorer对话框查看:在ODBCDataSourceAdministrator对话框的Drivers选项卡下,查看MySQLODBC驱动是否存在:2.配置ODBC驱动连接MySQL数据库使用ODBC连接到MySQL数据库的驱动程序,转到在ODBC数据源管理器对话框中,在系统DSN选项卡下,按添加按钮:在创建新数据源对话框中,选择MySQLODBC驱动程序并按完成按钮:在MySQL连接器中/ODBCData在SourceConfiguration对话框中:对于DataSourceName文本框,选择Enteradatasourcename。在描述文本框中,根据需要输入数据源的描述。通过选择适当的单选按钮,使用TCP/IP服务器或命名管道连接方法连接到MySQL。在此示例中,选择了TCP/IP服务器单选按钮。在文本框中,输入MySQL服务器的主机名或IP地址。默认情况下,主机名是localhost,IP地址是127.0.0.1。在端口框中,输入列出MySQL服务器的TCP/IP端口。默认端口为3306。在“用户”框中,键入连接到MySQL数据库所需的用户名,在“密码”框中,键入用户密码。在数据库组合框下,选择要建立连接的数据库:要测试它是否连接到正确配置的MySQL数据库,请按测试按钮。如果连接建立成功,会出现以下信息:此外,数据源名称会出现在ODBC数据源管理器对话框的系统DSN选项卡中:3.使用ODBC驱动程序创建和配置链接服务器现在当MySQL的ODBC驱动程序现在您已经安装并配置了ODBC驱动程序以连接到MySQL数据库,您可以开始在SSMS中配置链接服务器以连接到MySQL。转到SSMS,在对象资源管理器中的服务器对象文件夹下,右键单击链接服务器文件夹并从菜单中选择新建链接服务器选项:将出现新建链接服务器对话框。此处将输入连接到MySQL服务器的配置:在General选项卡的LinkedServer文本框中,输入链接服务器的名称(例如MYSQL_SERVER)。选择OtherDataSources单选按钮并从Providers列表中选择MicrosoftOLEDBProviderforODBCDrivers项:在ProductName框下,输入任何适当的(有效的)名称。对于数据源,您应该输入ODBC数据源的名称:在“安全”选项卡中,单击“使用此安全上下文创建”单选按钮,然后在“远程登录”和“使用密码”框中,输入存在于MySQL服务器实例,实例被选为数据源:在ServerOptions选项卡下,将RPC和RPCOut字段设置为True:如果这两个选项未设置为true并执行以下代码:EXEC('SELECT*FROMtest.table1')ATMYSQL_SERVER可能会出现以下错误:消息7411,级别16,状态1,第1行服务器“MYSQL_SERVER”未配置为RPC。在“新建链接服务器”对话框下设置所有选项后,按“确定”按钮。新创建的链接服务器应该出现在LinkedServers文件夹中:在开始从MySQL数据库查询数据之前,进入LinkedServer文件夹下的Providers文件夹,右击MSDASQL提供者,从上下文中选择Properties命令menu:在ProviderOptions对话框中,选中Nestedqueries,Levelzeroonly,Allowinprocess,Support'Like'operator复选框:例如,如果Allowinprocess复选框没有被选中,当执行下面的代码时:SELECT*FROMOPENQUERY(MYSQL_SERVER,'SELECT*FROMtest.table1')可能会导致以下错误消息:消息7399,级别16,状态1,第1行报告链接服务器“MYSQL_SERVER”的OLEDB提供程序“MSDASQL”一个错误。拒绝访问。消息7350,级别16,状态2,第1行无法从链接服务器“MYSQL_SERVER”的OLEDB提供程序“MSDASQL”获取列信息。总结MSSQL在企业中的使用还是很普遍的,尤其是在中小企业中。MSSQL数据库配置链接服务器也是一个常见的应用。最近在生产环境中遇到了这样一个案例,所以做了一些笔记,以备不时之需。
