您的位置:首页 > 数据库 > Oracle

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

2006-03-22 00:47 519 查看
在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: