当前位置:编程学习 > VC++ >>

利用VC++获取异构型数据库库结构信息

 

 

 

摘 要:本文在介绍ODBC技术的基础上,将MFC和ODBC API结合起来创建了两个自

定义 类,实现了对任意异构型数据库库结构信息的获取。

关键字:ODBC,MFC,异构型数据库,记录集

 

一. 问题的提出

  随着数据库技术在各个应用领域的迅速发展,市场上推出了多种数据库系

统,为了充分利用资源,实现信息共享,以便用户能对异构型数据库实现透明的

访问(包括数据查询、更新和交换等功能),作者开发了异构型数据库通信平台。

在平台的研制过程中,获取各种异构型数据库的结构信息是进行数据访问的前

提。作者以VC++5.0为开发语言,利用ODBC实现了这一关键技术。

 

二. ODBC技术介绍

  ODBC技术是指开放性数据库连接技术,该技术使应用程序无需关心数据源来

自何种DBMS,利用其标准接口实现与数据源之间的数据交换。传统的ODBC编程是

利用高级语言(如C语言)调用ODBC的API来实现。应用程序要求驱动程序管理

器和每个驱动程序为ODBC环境、每个连接以及每个SQL语句分配信息存储空间,

并返回指向各个存储区的句柄供其调用。ODBC接口定义了三种句柄类型:

环境句柄:为全程信息标识内存存储,包括有效连接句柄及当前活动连接句柄。

ODBC将环境句柄定义为HENV类型的变量。应用程序使用单一环境句柄,它必须

在连接到数据源前请求该句柄。

  连接句柄:为特定连接的信息标识了内存存储。ODBC将连接句柄定义为

HDBC类型。应用程序必须在连接到数据源前请求连接句柄。每个连接句柄与环

境句柄有关。然而,环境句柄可以有多个与其有关的连接句柄。

语句句柄:为SQL语句信息标识内存存储。ODBC将语句句柄定义为HSTMT类型变

量。应用程序必须在提交SQL请求之前请求语句句柄。每个语句句柄与一个连接

句柄有关。然而,每个连接句柄可以有多个与其相关的语句句柄。

下面以C语言为例说明传统ODBC编程的一般过程。

1、 环境申请,分配环境句柄

HENV henv;

SQLAllocEnv(&henv);

说明:分配一个环境句柄,支持一个或多个数据源连接。

2、 连接申请,分配连接句柄

HDBC hdbc;

SQLAllocConnect(henv,&hdbc);

说明:一个连接句柄对应一个数据源,可以有多个连接句柄。

3、 连接数据源,用连接句柄连接到数据源

SQLDriverConnect(hdbc,...);

说明:以对话框方式获取注册信息,并连接数据源。

4、 语句申请,分配语句句柄

SQLAllocStmt(hdbc,&hstmt);

说明:获得语句句柄,以便执行SQL语句。

5、 执行SQL语句

SQLExecDirect(hstmt,SQLStatement,..);

说明:利用语句句柄,执行SQL语句。

6、 释放所有资源

SQLfreeStemt(hstmst,...); //释放语句句柄

SQLDisconnect(hdbc); //断开连接

SQLFreeConnect(hdbc); //释放当前数据库连接句柄

补充:软件开发 , Vc ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,