欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

使用Microsoft OLE DB Provider For ODBC链接MySQL

程序员文章站 2022-04-26 11:17:05
...

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