ORACLE 8i的普通连接技术的介绍

** ORACLE 8i 的普通连接 技术的介绍 **

====================================

欢迎大家同我交流:小白 [email protected]

欢迎转载,请 保留本声明,谢谢!

====================================

Oracle 8.1.6 中引入普通连接技术的概念 (Generic connectivity) ,这一连接解决方案满足了对许多异种数据库存储的数据访问需求 , 同时并不需要安装 ORACLE 的透明网关 (ORACLE Transparent Gateway) 。该特性允许使用业界标准 ODBC 和 OLEDB 建立透明连接。

**什么是普通连接(Generic connectivity) **

普通连接是 ORACLE 的一个低端数据集成解决方案,目标是提供 ORACLE 8i 可以连接到非 oracle 数据库的能力。它的实现,是通过异种服务代理 (Heterogeneous Services) 来实现的。

异种服务代理的类型:

  • ODBC agent for accessing ODBC data providers

  • OLE DB agent for accessing OLE DB data providers that support SQL processing--sometimes referred to as OLE DB (SQL)

  • ODBC agent for acceng OLE DB data providers without SQL processing support--sometimes referred to as OLE DB (FS)

普通连接的系统结构图

ORACLE 客户端程序访问非 ORACLE 数据库的过程:客户端程序是通过 SQL*NET 连接 ORACLE 服务器,关于异种数据库的访问,交给 HS 代理实现。

HS 代理通过下面的功能组件实现: ODBC 管理器 ->ODBC 驱动程序 -> 数据库的网络客户端 -> 目标数据库。

如果异种库和 ORACLE 数据库位于同一台服务器上,一般来说驱动程序是可以直 接和本机的数据库通讯,就可以省去数据库的网络客户端这一层。

** 数据类型的转换 ** ** **

ORACLE 自动实现 ODBC 和 OLEDB 数据类型到 ORACLE 数据类型的转换,具体的对应转换可以参考 ORACLE 的联机帮助 http://download-west.oracle.com/docs/cd/A87860_01/doc/server.817/a76960/datatype.htm

** 普通连接的限制 ** ** **

1 含有 BLOB 列的表必须要有一个主键字段;

2 BLOB/CLOB 数据不直接通过 pass-through 的查询方式;

3 在 WHERE 子句中包括了函数的 Updates 或 deletes 语句不被允许;

4 不支持存储过程的调用;

HS 代理 (odbc/oledb) 不支持分布式事务 (distributed transactions) ,只支持单点的事务 (single-site transactions) 。

** 普通连接代理的配置 ** ** **

下面,我介绍一下,利用普通连接的 ODBC 配置。利用 HS odbc 代理连接 SQL SERVER 2000 。

第一步

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus