C++用OTL访问Oracle数据库的例子

来源:互联网 发布:筷子兄弟抄袭 知乎 编辑:程序博客网 时间:2024/04/29 09:34
    在Windows平台,数据库的访问手段比较丰富,如ADO或者ODBC等,然而在UNIX/Linux平台上访问数据就不是那么容易了。 如果我们使用Java作为开发语言,那么JDBC可以提供数据访问的途径,但是如果用C/C++就没这么简单了,你必须使用最原始的C/C++调用接口来访问数据库。
       目前大型的数据库,如Oracel或者DB2都提供了C/C++的调用接口,但是作为开发人员使用这些接口是一件很头痛的事情,你必须要熟记每一个API,然而OTL给我带来了一个新的数据库访问方式。
      本文将通过一个例子来展示OTL是如何使用的。希望借此使得那些和我一样的OTL入门者少走一些弯路。

开发环境:Windows 2003 + Oracle 9i
开发工具:Dev C++  V 4.9.9.0

Oracle安装路径:C:/Oracle/

我们仅仅展示数据库的连接和释放。

 

首先,我们建立一个Dev C++项目,名为“OTL”



在弹出的对话框中选择“Empty Project”


接下来选择一个位置来保存工程文件

 

之后,我们将向工程中添加我们的源代码文件,源代码文件如下:

#include <iostream>
using namespace std;
#include <stdio.h>

#define OTL_ORA9I // Compile OTL 4.0/OCI9i
#define OTL_ORA_TIMESTAMP // enable Oracle 9i TIMESTAMPs [with [local] time zone]
#include "otlv4.h" // include the OTL 4.0 header file

otl_connect db; // connect object


int
main()
{
    otl_connect::otl_initialize(); // initialize OCI environment 
    try
    {
        db.rlogon("scott/tiger@ORACLE9I"); // connect to Oracle 
        cout<<"Connect to Database"<<endl;
    }
    catch(otl_exception& p)
    { 
        // intercept OTL exceptions 
        cerr<<p.msg<<endl; // print out error message 
        cerr<<p.stm_text<<endl; // print out SQL that caused the error 
        cerr<<p.sqlstate<<endl; // print out SQLSTATE message 
        cerr<<p.var_info<<endl; // print out the variable that caused the error 
    }
 

    db.logoff(); // disconnect from Oracle

    return 0;
}

我们还需要将otlv4.h这个头文件添加到我们的工程中。

此时,我们需要设置一下头文件的路径和库文件的路径




此时,我们就可以编译并执行该程序了!

作者:http://allanyan.cnblogs.com/articles/105159.html

 
原创粉丝点击