在公司中经常会遇到部署多种数据库环境的情况,对于开发人员来说经常在不同数据库之间转换确实有些繁琐,本篇将介绍从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相关推荐

  1. oracle数据库访问sqlserver2008,透过SQL Server 2008访问Oracle 10g的配置方法

    之前写过一篇关于SQL Server 访问MySQL数据库的文章,最近正好又遇到需要访问Oracle 的情况,将配置过程记录下来也供大家参考. 准备工作 事先在需要访问Oracle 数据库的主机上完成 ...

  2. 通过SQL Server 2008 访问Oracle 10g

    之前写过一篇关于SQL Server 访问MySQL 数据库的文章,最近正好又遇到需要访问Oracle 的情况,将配置过程记录下来也供大家参考. 准备工作 事先在需要访问Oracle 数据库的主机上完 ...

  3. SQL Server 2008备份数据库失败,拒绝访问的原因

    SQL Server 2008备份数据库失败,拒绝访问的原因 原文:SQL Server 2008备份数据库失败,拒绝访问的原因 备份数据到特定目录是出现拒绝访问,然后测试备份到C盘根目录正常. 查了 ...

  4. mysql中的merge into,SQL Server 2008中利用merge into关键实现insert/update自动匹配(类似于MySQL中的For Update关键字)...

    SQL Server 2008中利用merge into关键实现insert/update自动匹配(类似于MySQL中的For Update关键字) 语法请参考: 按照语法编写语句 DECLARE @ ...

  5. SQL Server 2008使用LINQ进行数据访问(转载自IT168 [ http://www.it168.com/ ])

    SQL Server 2008使用LINQ进行数据访问 2008年09月23日 IT168网站原创 作者:微软中国 编辑:胡铭娅 评论:0条 本文Tag: LINQ SQL Server 2008 微 ...

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

    现在Windows Server 2008 服务器用的越来越多,2008的防火墙比2003的有了很大的增强,安全性有了更大的提高. 甚至80端口的出站默认都是被关闭的.所以如果在2008Server上 ...

  7. win7无法连接打印机拒绝访问_如何解决局域网无法访问SQL Server 2008 无法连接到(local)...

    初次安装使用SQL server 2008时,可能会遇到无法连接到(local)的情况.那么,如何解决此问题? 工具/原料: SQL server 2008 方法/步骤 1. 打开SQL server ...

  8. 2003安装mysql server 2008_Win2003系统下SQL Server 2008安装图解教程(详细图解)

    最近不少用户在windows2003 server 32位操作系统上安装SQL Server2008总是失败,出现大量错误.今天经过通过我反复测试安装,找出了一个便捷的安装方法,节省大家宝贵时间,具体 ...

  9. mysql错误18456_解决sql server 2008 18456 用户登录失败的方法

    SQL2008是数据库中有名的软件之一,它的兼容性比较强大,可以和很多的编程软件进行连接制作项目.很多用户在使用的过程中总是会遇到错误代码,一次性小编也解决不了全部的错误,今天我们就只说说这一个代码为 ...

最新文章

  1. 《c++语言导学》——1.7 常量
  2. Socket重叠IO
  3. 每日一题:leetcode1006.笨阶乘
  4. 无法将mysql服务器连接到_无法从java连接到mysql服务器
  5. vc++之剪贴板通信实例
  6. diy操作系统 0:万事开头难
  7. CentOS7安装无线网卡驱动和更新yum源
  8. 组织机构、权限、角色设计
  9. matlab神经网络 股票预测模型,基于BP神经网络的股票预测模型
  10. LeetCode Day01:一年中的第几天
  11. 如何能正常获取17track物流网站的物流信息?
  12. SSD的预留空间OP介绍
  13. Python自动翻译英语论文PDF(三十九)
  14. 前和讯新浪微博高级工程师姚飞:合作,共赢。
  15. 管理感悟:作为一个主管,如何解决屁股与脑袋的矛盾
  16. 《缠中说禅108课》83:笔-线段与线段-最小中枢结构的不同心理意义 1
  17. Android技术社区
  18. 修改word文件属性
  19. c语言江恩九方图,《江恩九方图使用方法》(
  20. 线性规划的影子价格(shadow price)|对偶价格(dual price) 与 gurobi 实现

热门文章

  1. mvp架构 java_GitHub - AnthonyCoder/MvpForJava: 一个可直接快速引入的 Java 版本的模块化 MVP 框架...
  2. 使用Asible批量部署yum仓库
  3. 计算机小键盘顺序,为什么电脑、电话数字键盘排列顺序不同?
  4. 如何将qmainwidget 客户区坐标_滋补品行业营销感悟之:如何将同行变成客户?
  5. 二叉树重建(c++)
  6. 【一步一步学习spring】spring bean管理(上)
  7. 201521123108《Java程序设计》第14周学习总结
  8. DDD领域驱动之干货(二)
  9. Thread优先级之让步
  10. Json工具类 - JsonUtils.java