网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
利用VC++获取异构型数据库库结构信息
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式

摘 要:本文在介绍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); //释放当前数据库连接句柄
SQLFreeEnv(henv); //释放环境句柄

三. 利用VC++和ODBC技术获取异构型数据库结构信息
传统的ODBC编程过程比较复杂,各种参数不易理解,且直接获取返回的数据较
困难。VC++ 5.0的MFC类库对ODBC的API进行封装,部分简化了ODBC编程(尤其
是对数据库记录集的操作),但单纯利用MFC类获取异构型数据库的结构信息仍
然比较困难,因此需要将MFC和传统ODBC API编程结合起来。作者利用ODBC接口
函数重载了MFC中CRecordset类的部分成员函数,创建CTable和CColumns类。利
用这两个新创建的类,可以很方便的获取异构型数据库结构信息。
下面就是关于CTable和Ccolumns类的定义:
class CTable : public CRecordset
{
    virtual CString GetDefaultConnect() { return ""; }
    virtual CString GetDefaultSQL() { return ""; }
public:
                    CTable(CDatabase* pDatabas

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号