时间:2021-07-01 10:21:17 帮助过:107人阅读
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