通过SQL Server 2008 访问MySQL(转)

在公司中经常会遇到部署多种数据库环境的情况,对于开发人员来说经常在不同数据库之间转换确实有些繁琐,本篇将介绍从SQL Server 操作MySQL 数据库的方法。

数据库测试环境

1. SQL Server 2008

2. MySQL 5.1.36
    Database: Test
    Table: TestTable

创建MySQL 测试表

CREATE TABLE  `testtable` (
  `id` int(11)  DEFAULT  NULL,
  `name` varchar(50)  DEFAULT  NULL,
  `age` int(11)  DEFAULT  NULL
)

创建Linked Server

下面来创建一个与MySQL交互的链接(类似Oracle 的DBLink),在SQL Server 管理器中右键Server Objects 目录下的Linked Servers 点击“New Linked Server”:

Linked server 链接名称

Server Type 选择“Other data source”

Provider 选择“Microsoft OLE DB Provider for ODBC Drivers”

Product name 填写MySQL 主机地址

Provider String 填写 Driver={MySQL ODBC 5.1 Driver};Server=ServerName;Database=myDB;
                                  User=myUserName;Password=myPassword;Option=3;

也可以通过TSQL 直接创建:

EXEC master.dbo.sp_addlinkedserver
@server = N‘MYSQLLINK‘,
@srvproduct = N‘localhost‘,
@provider = N‘MSDASQL‘,
@provstr = N‘Driver={MySQL ODBC 5.1 Driver};Server=localhost;
           Database=test;User=root;Password=root;Option=3;‘

EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname = N‘MYSQLLINK‘,
@useself = N‘False‘,
@locallogin = N‘localhost‘,
@rmtuser = N‘root‘,
@rmtpassword = N‘root‘

创建完成后便会看到下图中的链接:

操作MySQL 数据库

在SQL Server 中通过OPENQUERY 函数对MySQL 进行操作,该函数包含两个参数:第一个为已创建的链接名称,第二个为SQL 查询,它将返回对Linked Server 的读取或修改操作。如下操作示例:

OPENQUERY ([LinkedServer], ‘SELECT * FROM [RemoteTable]‘)

向TestTable 中插入测试数据:

insert into openquery(mysqllink,‘select * from testtable‘)
select 1,‘Peter‘,30;

查询数据:

select * from openquery(mysqllink,‘select * from testtable‘);

修改数据:

update openquery(mysqllink,‘select * from testtable‘)
set name=‘Jone‘ where id=1;

删除数据:

delete from openquery(mysqllink,‘select * from testtable‘)
where id=1;

相关参考资料

http://dev.mysql.com/downloads/mirror.php?id=376346

http://www.connectionstrings.com/mysql#p21

通过SQL Server 2008 访问MySQL(转)

时间: 2024-10-02 02:09:45

通过SQL Server 2008 访问MySQL(转)的相关文章

通过SQL Server 2008 访问Oracle

之前写过一篇关于SQL Server 访问MySQL 数据库的文章,最近正好又遇到需要访问Oracle 的情况,将配置过程记录下来也供大家参考. 准备工作 事先在需要访问Oracle 数据库的主机上完成以下工作: 1. 安装SQL Server 数据库:SQL Server 2008 R2 Express 2. 安装Oracle 客户端访问程序:Oracle 10g Client 3. 配置Oracle 客户端tnsnames.ora 文件,其中需要注意文件中的数据库别名“ORADB”,该名称在

SQL Server 2008 R2链接MySQL 5.6

1.开始安装MySQL 5.6,蛋疼的开始 下载MySQL 5.6. 如果你和我一样不打算深入了解MySQL,一定要下载MSI格式的安装文件,下载ZIP Archive是个噩梦的开始,我作了大半天的噩梦. Archive格式是类似安装完成后的文件,无需安装,需手动修改里面的配置文件. 我还是习惯下一步下一步傻瓜式的安装. 2.下载MySQL Connectors并安装 下一步下一步就OK了 3.配置ODBC数据源 windows 8.1—控制面板-- 管理工具--ODBC数据源 ODBC数据源管

SQL Server 2008 R2 附加数据库 “尝试打开或创建物理文件 拒绝访问”的解决办法

其实是来自一篇SQL Server 2005同样错误的帖子,不过试了在SQL Server 2008 R2下面也有效,记录一下. 解决方法: 在所有程序—Microsoft SQL Server 2008 R2—配置工具—SQL Server 配置管理器,点击"SQL Server 服务",右边会显示正在运行的服务,以及对应的用户,右击SQL Server (MSSQLSERVER),选择“属性”,把内置帐户选择为"Local System",点击重新启动就OK了.

Windows Server 2008上MYSQL外网无法访问有关问题解决

公司断网了 网络恢复之后 一直提示连不上MySQL服务器 本地能连接 远程不行 解决方法如下:选择:网络->windows 防火墙->高级设置->入站规则然后点击右上角的新建规则选择"端口" 下一步,输入3306端口,加入规则,然后再次点击新建规则选择"程序" 找到mysql bin下的启动路径,加入规则 然后外部访问mysql.成功!!!! 这个是防火墙的问题 Windows Server 2008上MYSQL外网无法访问有关问题解决,布布扣,b

sql server 2008 开启外网访问功能

在设置外网访问SQL2008数据库 之前,首先必须保证局域网内访问SQL2008没有问题 .那么,我们先来看看局域网内访问SQL2008数据库需要哪些步骤和设置,才能做到在局域网内任何一台机器上输入SQL2008数据库IP地址和端口号即能访问. 1.SQL2008数据库端设置 通常一台机器装上SQL2008后,要实现局域网访问SQL2008只要几步. 1)打开SQL2008配置工具,步骤:[开始]—>[所有程序]—>[Microsoft SQL Server 2008]—>[Config

【SQL 问题】试用版SQL Server 2008 R2 提示评估期已过,数据库不能访问解决办法

因为以前一直是试用版,重启服务器之后,突然数据库不能访问,提示评估期已过,都快吓死了.还好找到了解决办法特copy解决步骤如下: (笔者用的是企业版: R88PF-GMCFT-KM2KR-4R7GB-43K4B) 第一步:进入SQL2008配置工具中的安装中心第二步:再进入维护界面,选择版本升级第三步:进入产品密钥,输入密钥第四步:一直点下一步,直到升级完毕.SQL Server 2008 Developer: PTTFM-X467G-P7RH2-3Q6CG-4DMYB SQL Server 2

针对 SQL Server 2008 在Windows Server 2008上的访问配置 Windows 防火墙

现在Windows Server 2008 服务器用的越来越多,2008的防火墙比2003的有了很大的增强,安全性有了更大的提高. 甚至80端口的出站默认都是被关闭的.所以如果在2008Server上部署的应用程序外部需要访问,需要在出站.入站规则上添加所用到的端口,否则如果windows 防火墙开启状态下,外部很可能无法访问应用程序. 以SQL Server 2008(默认端口1433)为例: 1.登录到安装了 SQL Server 的计算机. 2.依次单击“开始”.“管理工具”.“高级安全

怎样通过计算机ip地址访问sql server 2008数据库

在设置外网访问SQL2008数据库 之前,首先必须保证局域网内访问SQL2008没有问题 .那么,我们先来看看局域网内访问SQL2008数据库需要哪些步骤和设置,才能做到在局域网内任何一台机器上输入SQL2008数据库IP地址和端口号即能访问. 1.SQL2008数据库端设置 通常一台机器装上SQL2008后,要实现局域网访问SQL2008只要几步. 1)打开SQL2008配置工具,步骤:[开始]->[所有程序]->[Microsoft SQL Server 2008]->[Config

SQL Server 2008 R2 根据WSDL访问WebService

学习整理:WebService学习整理(一)--客户端三种调用方式整理 自我概括: WebService 通过HTTP通讯,数据以XML格式传输 SOAP 是访问协议(注明访问WebService的url,方法名,参数,用户名/密码等) WSDL 是WebService描述语言(这个服务要怎样调用) .asmx 是.Net WebService后缀名(也有描述服务调用的方法,并且比较容易看懂), .asmx?wsdl 也可以查看服务的描述语言 正文: 项目需求需要对接一个非.Net 开发的Web