当前位置:
文档之家› 数据库系统原理-ODBC技术
数据库系统原理-ODBC技术
Foxpro 数据源
Sybase 数据源
DB2 数据源
DB
DB
DB
DB
DB
图2
ODBC的分层体系结构
2 ODBC的体系结构(二)
应用程序的主要功能是:调用ODBC函数,递交 SQL语句给DBMS,检索出结果,并进行处理。 驱动程序管理器是一个动态连接库(DLL),用于 连接各种DBS的DBMS驱动程序(如Oracle、 Foxpro、Sybase等驱动程序),管理应用程序和 DBMS驱动程序之间的交互作用(通信)。 应用程序通过调用驱动程序所支持的函数来操纵数 据库。驱动程序也是一个动态连接库(DLL)。
数据库连接技术 ----ODBC
1 ODBC概念
图1
采用API的应用编程
2 ODBC的体系结构(一)
ODBC数据库应用程序 驱动程序管理器 SQL Server 驱动程序 Oracle 驱动程序 Foxpro 驱动程序 Sybase 驱动程序 DB2 驱动程序
SQL Server 数据源
Oracle 数据源
3 ODBC的特性
① ②
③
ODBC是一个调用层的接口 ODBC定义了标准的SQL语法 ODBC提供一个驱动程序管理器来管理并同 时访问多个DBMS系统
3.1 ODBC应用程序的基本流程
图6
ODBC应用程序的基本流程
3.2 ODBC句柄(一)
应用程序 环境句柄 (只有一个)
连接句柄
连接句柄
…… ……
#Step 2: 建立连接 conn = pyodbc.connect(connStr) #Step 3: 分配语句句柄 cursor = conn.cursor() #Step 4: 执行SQL语句并得到结果集 sqlStr = "select * from student" cursor.execute(sqlStr) #Step 5: 处理结果集 while 1: … #Step 6: 关闭连接,释放资源 conn.close()
数据库服务器
数据库引擎 数据库
图4
基于网关机制的多层驱动程序ODBC结构(三层结构)
2 ODBC的体系结构(六)
①
② ③
用户数据源:用户创建的数据源,称为“用户数据 源”。此时只有创建者才能使用,并且只能在所定 义的机器上运行。任何用户都不能使用其他用户创 建的用户数据源。 系统数据源:所有用户和在Windows 下以服务方 式运行的应用程序均可使用系统数据源。 文件数据源:文件数据源是ODBC 3.0以上版本增 加的一种数据源,可用于企业用户,ODBC驱动程 序也安装在用户的计算机上。
2 ODBC的体系结构(三)
图3
网络环境下基于单层驱动程序的ODBC结构
2 ODBC的体系结构(四)
图4
基于多层驱动程序的ODBC结构(两层结构)
2 ODBC的体系结构(五)
基于网关机制的多层驱动程序的ODBC结构
ODBC数据库应用程序 客户浏览器 客户端网络支撑软件 (网络) 服务器网络支撑软件 WWW服务器 数据库网关 驱动程序管理器 驱动程序
连接句柄
语句句柄
语句句柄
图7 三种句柄之间的关系
语句句柄
3.2 ODBC句柄(二)
henv □ hdbc □ hstmt□ … 环境句柄 (定义DB应用环境) 连接句柄 (定义一个DB连接) 语句句柄 (定义一个SQL语句)
……
图8
各种句柄之间的关系
3.3 ODBC应用举例
#Step 1: 初始化环境参数 connStr = 'DSN=testDB;PWD=1'