通过控制面板->管理工具->Event Viewer->Windows Log->Application Logs, 可以看到可以看到是如下错误

“C:\Windows\oraocci11d.dll”的激活上下文生成失败。 找不到从属程序集 Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"。 请使用 sxstrace.exe 进行详细诊断。

原因:

1. 没有安装Microsoft.VC90.DebugCRT,processorArchitecture="x86"

2. 使用了DEBUG版本的oraocci11d.lib 和oraocci11d.dll 动态链接库

解决办法

1. 安装Microsoft.VC90.DebugCRT

2. 或者不要使用DEBUG版本的occi 动态链接库

还有一个ResultSet->getString()的内存错误

解决办法:

  • 我用的是VC++2010, 下载与VC++2010对应的OCCI DLL库
  • 并且occi 的版本要和oci.dll版本匹配,否则可能会出现"11g无法定位程序输入点OCIPHeapAllocUc于动态连接库OCI.DLL上"的问题
  • http://www.oracle.com/technetwork/database/occidownloads-083553.html

总之:VC++版本, OCCI DLL版本, OCI DLL版本三者必须一致。

OCCI示例代码

 void test() {

 std::string userName = "scott";
std::string password = "tiger";
std::string connectString = "ORCL";
//Environment::createEnvironment("AL32UTF8","UTF8");
oracle::occi::Environment *env = oracle::occi::Environment::createEnvironment("AL32UTF8","UTF8");
{
oracle::occi::Connection *conn = env->createConnection(
userName, password, connectString);
oracle::occi::Statement *stmt = conn->createStatement(
"SELECT DEPTNO, DNAME FROM DEPT");
oracle::occi::ResultSet *rs = stmt->executeQuery();
while( rs->next() ) {
//oracle::occi::Blob b = rs->getBlob(1);
int i =rs->getInt();
std::string dn =rs->getString();
//std::cout << "Length of BLOB : " << b.length() << std::endl;
//std::cout << "dname : " << dname << std::endl;
std::cout << "deptno : " << i << std::endl;
std::cout << "dname : " << dn << std::endl;
}
stmt->closeResultSet(rs);
conn->terminateStatement(stmt);
env->terminateConnection(conn);
} oracle::occi::Environment::terminateEnvironment(env);
}

03 - 运行OCCI测试程序遇到0xc0150002错误的更多相关文章

  1. 终于解决了Linux下运行OCCI程序一直报Error while trying to retrieve text for error ORA-01804错误

    终于解决了Linux下运行OCCI程序一直报Error while trying to retrieve text for error ORA-01804错误 http://blog.csdn.net ...

  2. <<< php程序在运行后报“internal server error”错误

    上传的php程序在运行后报“internal server error”错误,检查以下两方面: 1.请您检查php程序的属性是否设置为755,如果php程序的属性不是755,那么运行的时候会报“int ...

  3. ArcMap运行时出现Runtime Error错误的解决方案

    运行ArcMap时弹出错误提示:“Microsoft Visual C++ Runtime Library. Runtime 1.开始->运行->regsvr32 "C:\Pro ...

  4. 在windows环境下运行compass文件出现的错误提示解决方案

    在windows环境下运行compass文件出现的错误提示解决方案 例如:经常在项目中运行grunt命令编译scss文件的时候,会出现下面的错误提示 (Encoding::CompatibilityE ...

  5. Linux 下运行 C++ 程序出现 “段错误(核心已转储)”

    Linux下写C++程序出现“段错误(核心已转储)”的问题: 段错误一般就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它 ...

  6. Oracle安装后命令行中运行sqlplus / as sysdba出现错误ora-01031:insufficient privileges

    Win10安装Oracle后命令行中运行sqlplus as sysdba出现错误ora-01031insufficient privileges的解决方法 情景描述 错误样例 错误分析 解决方法 情 ...

  7. nginx运行出现 file not found 错误处理原因

    在阿里云装nginx+php+mysql nginx运行出现 file not found 错误处理原因 1,第一情况 location ~ \.php$ { # root html; fastcgi ...

  8. WinServer2008R2 + IIS 7.5 + .NET4.0 经典模式 运行WebAPI程序报404错误的解决方案

    在Windows Server 2008 R2系统下,IIS 7.5 + .NET Framework 4.0的运行环境,以经典模式(Classic Mode)部署一个用.NET 4.0编译的 Web ...

  9. Xcode 运行cocos2dx弹出内部错误对话框(Internal Error)

    cocos2dx未捕获的异常升高.选择"继续"继续运行在一个不一致的状态.选择"崩溃"停止应用和崩溃报告一个错误文件. 莫名其妙,代码没有报错,运行时却弹出(内 ...

随机推荐

  1. 经典SQL语句大全 学者必看

    一.基础 .说明:创建数据库 CREATE DATABASE database-name .说明:删除数据库 drop database dbname .说明:备份sql server --- 创建 ...

  2. Linux系统环境变量及命令

    Linux哪些我们常用,但是用的时候想不起来,这里做一个备忘录. Linux常用的变量: PATH 决定了shell将到哪些目录中寻找命令或程序 HOME 当前用户主目录 HISTSIZE 历史记录数 ...

  3. SQL 面试题(一)

    问题来自于CSDN问答,练练SQL吧. 测试数据SQL代码: if OBJECT_ID('td_ls_2') is not null drop table td_ls_2 go if OBJECT_I ...

  4. ASP.NET中的ViewState

    曾经在两次面试中都遇到了这个问题,就是ViewState中存储的变量到底存储在哪里.由于基础比较差,以前在学习的时候,就没有注意 到这里的细节,包括Session中存储的变量,所以我想ViewStat ...

  5. 每日一“酷”之heapq

    作用:heapq模块实现一个适用于Python列表的最小堆排序算法 堆(heap)是一个属性数据结构,其中子节点与父节点是一种有序关系.二叉堆是一种特殊的堆,二叉堆是完全二元树(二叉树)或者是近似完全 ...

  6. 数据分析≠Hadoop+NoSQL,不妨先看完善现有技术的10条捷径(分享)

            Hadoop让大数据分析走向了大众化,然而它的部署仍需耗费大量的人力和物力.在直奔Hadoop之前,是否已经将现有技术推向极限?这里总结了对Hadoop投资前可以尝试的10个替代方案, ...

  7. c 指针兼容性问题

    指针兼容性问题: const指针不能赋值给非const指针. 非const指针可以赋值给const 指针,但前提是只是一层间接运算 Example: int *pt1; const *pt2; con ...

  8. 关于htmlentities 、htmlspecialchars、addslashes的使用

    1.html_entity_decode():把html实体转换为字符. Eg:$str = "just atest & 'learn to use '"; echo ht ...

  9. 内存管理、ARC

    内存管理 一.基本原理 1.什么是内存管理 移动设备的内存极其有限,每个app所能占用的内存是有限制的 当app所占用的内存较多时,系统会发出内存警告,这时得回收一些不需要再使用的内存空间.比如回收一 ...

  10. Team Homework #1 学长“学霸英语学习软件”试用

    简介: 一款英语单词记忆和管理辅助软件. 基本功能: 内置GRE词汇及其常考形态.Webster英语解释 单词发音功能 单词测验模式 简易词典功能 基本界面 词库单词读取 单词测试 优点: 1.界面简 ...