Home > Database > Mysql Tutorial > C++用OTL访问Oracle数据库的例子

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

WBOY
Release: 2016-06-07 15:18:32
Original
1227 people have browsed it

在Windows平台,数据库的访问手段比较丰富,如ADO或者ODBC等,然而在UNIX/Linux平台上访问数据就不是那么容易了。 如果我们使用Java作为开发语言,那么JDBC可以提供数据访问的途径,但是如果用C/C++就没这么简单了,你必须使用最原始的C/C++调用接口来访问数

     在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”

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

在弹出的对话框中选择“Empty Project”
C++用OTL访问Oracle数据库的例子

接下来选择一个位置来保存工程文件
C++用OTL访问Oracle数据库的例子

 

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

#include
using namespace std;
#include

#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"    }
    catch(otl_exception& p)
    { 
        // intercept OTL exceptions 
        cerr// print out error message 
        cerr// print out SQL that caused the error 
        cerr// print out SQLSTATE message 
        cerr// print out the variable that caused the error 
    }
 

    db.logoff(); // disconnect from Oracle

    return 0;
}

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

此时,我们需要设置一下头文件的路径和库文件的路径
C++用OTL访问Oracle数据库的例子

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

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

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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template