加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用Occi连接Oracle数据库

发布时间:2020-12-12 13:58:19 所属栏目:百科 来源:网络整理
导读:1、首先应该创建环境变量: Environment 类是 OCCI 程序的基础类,所有的 对象的建立都是依计 对象来创建的,所以 对象的建立必须放在第一位,而且也必须是最后一个被终止的。例如:首先创建一个 对象 env ,然后通过 创建一个 Connection conn , 是连接了

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

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

2、连接数据库:

创建完一个后,可以调用类下的方法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地址就可连接。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读