日期:2014-05-17  浏览次数:20899 次

VS2005连接ORACLE10G的OCCI程序问题
#include <iostream>
#include <occi.h>
using namespace std;
using namespace oracle::occi;


int main(){

Environment *env;
Connection *conn;
Statement *stmt;
try
{
env = Environment::createEnvironment(Environment::DEFAULT);
conn = env->createConnection("guixh", "guixh","localhost:1521"); //这句抛出异常,异常为24960
stmt = conn->createStatement();

stmt->setAutoCommit(true);

ResultSet *rs = stmt->executeQuery("Select * FROM t1");
while (rs->next())
{
int num = rs->getInt(1); 
string name = rs->getString(2); 
cout << num << name <<endl;

}
}
catch(SQLException &ex)
{
cout << ex.getErrorCode() << ": " << ex.getMessage() << endl;
}

env->terminateConnection(conn);
conn->terminateStatement(stmt);

return 0;
}


代码如上,配置如下:
工具-》选项-》项目和解决方案-》vc++目录,在右边出现的组合框中选择“包含文件”,把你的oci目录包含进来。例如我的是:D:/oracle/product/10.2.0/db_1/OCI/include。完了之后,配置库目录,仍然是在组合框选择库文件,然后输入你的库文件目录,例如我的是:D:/oracle/product/10.2.0/db_1/OCI/lib/MSVC。
选择项目属性-》配置属性-》连接器-》输入,在附加依赖项中添入oraocci10.lib。配置完毕。

抛出错误的地方:
conn = env->createConnection("guixh", "guixh","localhost:1521"); //这句抛出异常,异常为24960
occi oracle10g VS2005

------解决方案--------------------
nice job

又学了一招
------解决方案--------------------