Visual C采用ODBC方式连接Oracle数据库

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Visual C++ 采用ODBC方式连接Oracle数据库不同的DBMS在支持的字段类型、可用的字段类型属性、访问目录或系统信息的能力和对相关完整性的支持程序等方面基本是不同的,同时各数据库供应商提供自己专用的API接口,提供程序员访问DBMS,如果一个程序需要与不同的数据库接口时,程序员须分别学习不同的API。ODBC(Open Database Connectivity开放数据库连接)就是解决异种数据库访问的问题。

ODBC是一种使用SQL语言程序标准接口之一,是应用程序和数据库系统之间的中间件。它通过使用相应应用平台上所需数据库对应的驱动程序与应用程序的交互来实现对数据库的操作,减少编写数据库应用程序时与数据源直接接触造成的复杂性,从而提供了数据库的独立性。用户程序通过ODBC访问多个数据库的关系如图:

1、Visual C++ 、ODBC和Oracle数据库之间的关系

Visual C++ 数据库应用程序-ODBC和Oracle数据库(ODBC32.DLL)-OracleODBC驱动程序(SQORA.DLL)-OCI调用层(ORAWIN.DLL)-SQL*Net驱动程序网络软件-(PCTCP,NovellNetware-Microsoft LAN Manager,etc,.)-SQL*Net侦听-Oracle数据库。

2、ODBC以及MFC的OCBC类

在Visual C++开发应用,使用ODBC SDK函数访问Oracle数据库是开发程序的方法之一,但这种方法编程工作量大。通过微软封装OCBC功能的MFC类,很方便实现用Visual C++开发基于Oracle数据库的应用程序。

MFC提供了4数据库类:CDatabase、CRecordset、CRecordView及CDBException。

CDatabase类:封装了与数据库建立连接,控制事务的提交和回滚及执行SQL语句的方法。

CRecordset类:封装了大部分操纵数据库的方法,包括浏览、修改记录,控制游标移动,排序等操作。

CRecordView类:提供了与Recordset对象相连接的视图,可以建立视图中的控件与数据库数据的对应,同时支持移动游标,修改记录等操作。

CDBException类:提供了对数据库操作的异常处理,可以获得操作异常的相关返回代码。

3、在Visual C++中采用ODBC编程的主要步骤:

(1)使用Visual C++的AppWizard,选择连接的数据类型,生成ODBC框架程序。

(2)假设该程序project Name 为Exam,则程序生成CexamSet类,它是CRecordset类的派生类,它的成员变量中包含了数据库对应表中的列表项,这实现了对数据库的访问。

(3)在CexamDoc类中,包含m_examSet变量,它是CexamSet的对象。由于它被嵌在文档对象中,文档对象被构造时,它也会自动构造,文档对象被删除时,它会被删除。程序通过m_examSet来访问数据库,从而实现对多个数据记录集合的访问。

(4)在CexamView类中,在OnInitialUpdate()成员函数处,有m_pSet=&GetDocument()->m_examSet,此实现了在视图中通过文档类中的m_examSet对象来直接访问数据库。

相关文档
最新文档