使用Occi连接Oracle数据库

本文介绍了使用Oracle Call Interface (OCCI) 连接Oracle数据库的方法。首先创建Environment对象作为所有OCCI对象的基础,并确保其为最后一个终止。接着通过Environment对象创建Connection对象实现数据库连接。文章还提供了一个C++示例代码,展示了如何使用OCCI进行远程数据库连接,而无需配置本地服务。

1、首先应该创建环境变量:

Environment类是OCCI程序的基础类,所有的OCCI对象的建立都是依计Environment对象来创建的,所以Environment对象的建立必须放在第一位,而且也必须是最后一个被终止的。例如:首先创建一个Environment对象env,然后通过env创建一个Connection对象connconn是连接了数据库的对象;终止时,却反过来先终止对象conn,再终止对象env

2、连接数据库:

创建完一个Environment对象env后,可以调用Environment类下的方法createConnection()来创建一个Connection对象conn;通过createConnection()方法我们可以连接到任意一个数据库中。

3、连接数据库的实例代码:

#include "stdafx.h"
#include "iostream"
#include "occi.h"
using namespace std;
using namespace oracle::occi;

int _tmain(int argc, _TCHAR* argv[])
{
	Environment *env = NULL;
	Connection *conn = NULL;

	string name = "system";  
	string pass = "system";  
	string srvName = "192.168.20.200/orcl";

	try  
	{   
		/*创建一个环境变量*/
		env = Environment::createEnvironment();  
		if (NULL == env) {    
			printf("CreateEnvironment error.\n");    
			return -1;    
		}  
		else  
			cout << "CreateEnvironment Success..." << endl;  

		//创建数据库连接  
		conn = env->createConnection(name, pass, srvName);//用户名,密码,数据库名  
		if(NULL == conn) {    
			printf("CreateConnection error.\n");    
			return -1;    
		}  
		else  
			cout << "conn success" << endl;  
	}
	catch(SQLException e)
	{
		char szLog[260] = {0};
		sprintf(szLog, "InitADOConn错误:%s", e.what());
	}

	/*先断开连接*/
	if (conn != NULL)
	{
		env->terminateConnection(conn);
		conn = NULL;
	}

	/*再终止环境变量*/
	if (env != NULL)
	{
		Environment::terminateEnvironment(env);
		env = NULL;
	}

	system("pause");
	return 0;
}

与ADO相比,我发现在远程连接数据库时,occi方式不用配置本地服务,通过在连接字符串中指定ip地址就可连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小米的修行之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值