使用环境:操作系统:window7数据库:SQL Server2005、MySql5.01、在安装了SQL Server的服务器上安装MySql的ODBC驱动:下载链接:http://dev.mysql.com/downloads/mirror.php?id=376346点过去之后会链接到以下的页面,不用登陆,直接点击下面的“No thanks,just start my download”就会弹出下载框。

  

  上面的链接只是window7的ODBC驱动,下面这个链接比较全,可以根据需要下载相应的驱动:http://dev.mysql.com/downloads/connector/odbc/5.1.htmlMySql的ODBC驱动的安装过程就是一路next,一路默认就行,直到install,finish。2、创建ODBC数据源:点击“控制面板”—>>“管理工具”—>>"数据源(ODBC)",系统会弹出“ODBC数据源管理器”,选择“系统DSN”选项卡,可以看到已有的系统数据源信息。

  

  点击“添加”按钮,在弹出的“创建新数据源”框中选择相应的驱动程序。我这里连接的是MySql,所以选MySQL的ODBC程序。MySQL的ODBC提供了ANSI和Unicode两个版本,它们之间到底有什么区别我是不知道啦,但从字面上来看,Unicode应该能够支持更多的字符集,而ANSI只针对有限的字符集的范围。我这只是用来测试,就随便选个ANSI的driver吧。

  

  点击“完成”按钮时,系统会弹出MySQL ODBD数据源配置框,如图:Data Source Name:数据源名称,不能为空,可以随便填,但是要记住了,后面有用到Deion:数据源描述,可以为空,也可以随便填TCP/IP Server:安装了MySql的机器的Ip地址Port:端口号,MySql默认端口号3306User:登陆MySql的用户名Password:登陆MySql的密码Database:数据源,也就是要用的数据库

  

  填写完之后,可以点击下“Test”测试一下,要是连接正确会弹出框

  

  连接不成功则弹出:

  

  测试成功,点击“OK”按钮,此时“ODBC”数据源管理器中就多出了刚刚添加的数据源。要是想修改刚刚填写的配置信息,可以点“配置”按钮。

  

  最后“确定”。3、建立链接服务器在SQL Server2005中找到“链接服务器”节点,右击选择“新建链接服务器”。

  

  链接服务器:一定要填,可以随便填,它会自动将填写的信息转成大写服务器类型选择“其他数据源”访问接口:选择“Microsoft OLE DB Provider for ODBC Drivers”(默认的是“Microsoft OLE DB Provider for SQL Server”,两个挺像的,别弄混了)产品名称:官方解释是要作为链接服务器添加的OLE DB数据源,也不懂什么意思,貌似可以随便填数据源:就是上面建立的ODBC数据源,我这里是testmysql

  

  然后选“安全性”选项卡,最下面的链接方式选择最后一种“使用此安全上下文建立连接”,输入用户名和密码之后点击“确定”。

  

  此时“链接服务器”节点下就会多出刚刚建立的链接服务器。

  

  4、简单测试执行SQL语句:select * from OPENQUERY(TESTMYSQL, 'select * from cdr_ex')其中“TESTMYSQL”为刚刚建立的链接服务器,cdr_ex是建数据源时选定数据库中的一张表。后来在网上查到也可以用SQL语句直接建“链接服务器”,免了前面的一大堆东西,这里用SQL新建一个名为“testmysql2”的链接服务器,拷贝并修改之后的SQL如下:

  1. IF EXISTS (SELECT srv.name FROM sys.servers srv WHERE srv.server_id != 0 AND srv.name = N'testmysql2')
  2. exec sp_dropserver 'testmysql2','droplogins'
  3. exec sp_addlinkedserver
  4. @server='testmysql2', --这是ODBC里面data source name
  5. @srvproduct='testmysql2', --这个你自己随便吧
  6. @provider='MSDASQL', --这是固定的,不能瞎填,否则死定了
  7. @datasrc=NULL,
  8. @location=NULL,
  9. @provstr='DRIVER={MySQL ODBC 5.2 ANSI Driver};SERVER=192.168.0.119;DATABASE=asteriskcdrdb;UID=root;pwd=root;PORT=3306;',
  10. --注意驱动名称要与odbc相同
  11. @catalog = NULL
  12. exec sp_addlinkedsrvlogin
  13. @rmtsrvname='testmysql2',
  14. @useself='false',
  15. @rmtuser='root',
  16. @rmtpassword='root';

技术分享:www.kaige123.com

SQL Server访问MySql的更多相关文章

  1. 通过sql server 连接mysql

    图文:通过sql server 连接mysql   1.在SQL SERVER服务器上安装MYSQL ODBC驱动; 驱动下载地址:http://dev.mysql.com/downloads/con ...

  2. 数据库 SQL Server 到 MySQL 迁移方法总结

    最近接手一起老项目数据库 SQL Server 到 MySQL 的迁移.因此迁移前进行了一些调查和总结.下面是一些 SQL Server 到 MySQL 的迁移方法. 1. 使用 SQLyog 迁移 ...

  3. 对Oracle 、SQL Server、MySQL、PostgreSQL数据库优缺点分析

    对Oracle .SQL Server.MySQL.PostgreSQL数据库优缺点分析 Oracle Database Oracle Database,又名Oracle RDBMS,或简称Oracl ...

  4. Linux + .net core 开发升讯威在线客服系统:同时支持 SQL Server 和 MySQL 的实现方法

    前段时间我发表了一系列文章,开始介绍基于 .net core 的在线客服系统开发过程. 有很多朋友一直提出希望能够支持 MySQL 数据库,考虑到已经有朋友在用 SQL Server,我在升级的过程中 ...

  5. Linux 运行升讯威在线客服系统:同时支持 SQL Server 和 MySQL 的实现方法

    前段时间我发表了一系列文章,开始介绍基于 .net core 的在线客服系统开发过程. 有很多朋友一直提出希望能够支持 MySQL 数据库,考虑到已经有朋友在用 SQL Server,我在升级的过程中 ...

  6. Chapter 1 Securing Your Server and Network(6):为SQL Server访问配置防火墙

    原文:Chapter 1 Securing Your Server and Network(6):为SQL Server访问配置防火墙 原文出处:http://blog.csdn.net/dba_hu ...

  7. atitit。mssql sql server 转换mysql 及 分页sql ast的搭建

    atitit.mssql sql server 转换mysql  及 分页sql ast的搭建 1. 主要的的转换::函数的转换,分页的转换 1 2. 思路::mssql sql >>as ...

  8. 从SQL Server到MySQL,近百亿数据量迁移实战

    从SQL Server到MySQL,近百亿数据量迁移实战 狄敬超(3D) 2018-05-29 10:52:48 212 沪江成立于 2001 年,作为较早期的教育学习网站,当时技术选型范围并不大:J ...

  9. sql server vs mysql

    1.中文: my.ini [mysqld] character-set-server=utf8 character-set-client=utf8 data\testdb\db.opt default ...

随机推荐

  1. HDU1005&&NEFU67 没有循环节

    Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  2. JS操作DOM

    [功能:点击按钮显示表单] <html> <head> <meta http-equiv="Content-Type" content="t ...

  3. [Java基础] SequenceInputStream输入合并流

    转载: http://blog.csdn.net/xuefeng1009/article/details/6955707 public SequenceInputStream(Enumeration& ...

  4. android 中如何分析内存泄漏

    转载:http://blog.csdn.net/fulinwsuafcie/article/details/8363218 前提条件: 1,电脑安装了java 运行环境 2,手机端开启了 USB 调试 ...

  5. Linux中编译、安装nginx

    Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP 代理服务器. Nginx 是由Igor Sysoev为俄罗斯访问 ...

  6. cocos2dx创建sprite的多种方法

    方法一 最常用,也是最简单的一种方法 CCSprite *bg=CCSprite::create(,,,)); bg->setAnchorPoint(ccp(,)); bg->setPos ...

  7. android之常用知识点(一)

    本文主要包括安卓一些常用的知识点 android常用的四种响应按钮点击事件的方法 android动态刷新界面 android常用的listView用法 android常用的handler的用法 and ...

  8. C++基础内容复习

    下列语句定义了5个变量: int count; double sales_price,sum; std::string title; Sales_item bookItem; 每个定义都是以类型说明符 ...

  9. mysql TIMESTAMP详解

    navicat中设置timestamp字段的时间,默认这里填写CURRENT_TIMESTAMP,就是在插入数据的时候按照当前时间插入: 勾选根据当前时间戳更新,表示在UPDATE的时候,会根据当前时 ...

  10. Java Hour 60 逃不开的GC

    第一个大家都应该知道的概念就是应用程序中不断的new 分配了内存,却没有显式的代码去清理内存,而执行这个清理过程的自动垃圾回收的过程就叫做GC. 但是,JVM 说明并没有要求一定要有GC,JVM 说明 ...