鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 数据库 > mssql2005 > >

使用Microsoft OLE DB Provider For ODBC链接MySQL

来源:互联网 作者:佚名 时间:2013-04-13 09:47
ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部

  ODBC(Open Database Connectivity,开放互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。

  一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access , MYSQL还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。

一、使用 Microsoft OLE DB Provider For ODBC 链接MySQL
安装MySQL的ODBC驱动MyODBC
1、为MySQL建立一个ODBC系统数据源,例如:选择数据库为test ,数据源名称为

字串6

myDSN

字串8

2、建立链接数据库
EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproduct='MySQL', 字串8

@provider = 'MSDASQL', @datasrc = 'myDSN'
GO
EXEC sp_addlinkedsrvlogin 字串8

@rmtsrvname='MySqlTest',@useself='false',@locallogin='sa',@rmtuser='mys 字串7

ql的用户名',@rmtpassword='mysql的密码'

字串8

3、查询数据

字串1

SELECT * FROM OPENQUERY (MySQLTest ,'select * from 表' )

字串4

下面这个不行:
SELECT * FROM OPENQUERY (MySQLTest ,'表' ) 字串1

注意:不能直接用select * from 链接名.数据库名.用户名.表(或视图)

字串2

四部分名称查询数据,可能是个Bug. 字串4

二、使用 Microsoft OLE DB Provider For ORACLE 链接ORACLE

字串5

1、建立链接数据库
sp_addlinkedserver '别名', 'Oracle', 'MSDAORA', '服务名'
GO
EXEC sp_addlinkedsrvlogin @rmtsrvname='别名 字串4

',@useself='false',@locallogin='sa',@rmtuser='oracle用户名

字串5

',@rmtpassword='密码' 字串3

2、查询数据 字串1

SELECT * FROM 别名..用户名.表(视图)

字串6

注意:四部分名称全部用大写

字串8

3、执行存储过程 字串5

使用OPENQUERY:
SELECT *
FROM OPENQUERY(别名, 'exec 用户名.存储过程名')

字串6

网友评论
<