vs2017:c++通过occi调用oracle的配置过程

正常建立一个项目后,创建cpp文件,

添加头文件:
vs2017:c++通过occi调用oracle的配置过程_第1张图片
添加库:
vs2017:c++通过occi调用oracle的配置过程_第2张图片

添加依赖库名:(注意此处 oraocci12d.lib是debug编译; oraocci12.lib是release编译)
vs2017:c++通过occi调用oracle的配置过程_第3张图片

将相关dll文件移动到项目目录下:
vs2017:c++通过occi调用oracle的配置过程_第4张图片

代码如下:

/***************************采用oracle本身提供OCCI方式操作数据库*******************/

//代码的目的就是验证makefile中oracle的头文件和lib文件路径是否正确了  
#include   
#define WIN32COMMON //避免函数重定义错误  
#include   
using namespace std;
using namespace oracle::occi;


int main()
{
	//system("pause");
	//创建OCCI上下文环境  
	Environment *env = Environment::createEnvironment();
	if (NULL == env) {
		cout << "createEnvironment error.\n" << endl;
		return -1;
	}
	else
		cout << "success" << endl;

	string name = "scott";
	string pass = "tiger";
	string srvName = "localhost:1521/orcl";


	//创建数据库连接  
	Connection *conn = env->createConnection(name, pass, srvName);//用户名,密码,数据库名  
	if (NULL == conn) {
		cout << "createConnection error." << endl;
		return -1;
	}
	else
	{
		cout << "conn success" << endl;
	}
		

	//  数据操作,创建Statement对象  
	Statement *pStmt = NULL;    // Statement对象  
	pStmt = conn->createStatement();
	if (NULL == pStmt) {
		cout << "createStatement error." << endl;
		return -1;
	}

	// 查询数据库时间    
	std::string strTemp;
	ResultSet *pRs = pStmt->executeQuery("select * from emp");


	while (pRs->next())
	{
		cout << pRs->getInt(1) << endl;
		cout << pRs->getString(2);
			// int类型取值用getInt()    
	}

	pStmt->closeResultSet(pRs);

	// 终止Statement对象    
	conn->terminateStatement(pStmt);

	//  关闭连接  
	env->terminateConnection(conn);
	// pEnv->terminateConnection(pConn);    


// 释放OCCI上下文环境    
	Environment::terminateEnvironment(env);
	cout << "end!" << endl;
	system("pause");
	return 0;
}

以上头文件及库文件的获取可以参考以下博文
visual studio 2013使用OCCI连接oracle数据库全过程解析
visual studio 2017使用OCCI连接oracle数据库全过程解析

你可能感兴趣的:(vs2017,oracle,数据库)