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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用VC++获取异构型数据库库结构信息.doc

利用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); //释放当前数据库连接句柄 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* pDatabase); ??? BOOL ??????????? Open(LPCSTR pszTableQualifier = NULL, ??????????????????????? LPCSTR pszTableOwner = NULL, ??????????????????????? LPCSTR pszTableName = NULL, ??????????????????????? LPCSTR pszTab

文档评论(0)

ziyouzizai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档