[紧急求助]关于在64位Linux(Redhat)上使用OCCI的问题
作者:球球小白痴_693 | 来源:互联网 | 2017-06-27 21:31
[紧急求助]关于在64位Linux(Redhat)上使用OCCI的问题--Linux通用技术-Linux编程与内核信息,下面是详情阅读。
各位大神,你们好!
小弟遇到了如题所示的问题,之前自己使用的Redhat是5.5 32位版本的,装的ORACLE自然也是32位,因此从未考虑32位和64位的问题。
项目中需要使用OCCI远程访问数据库,编写的程序以及接口在自己的电脑上运行均没有问题,放到测试服务器(64位Linux,64位ORACLE)上无法使用。
小弟也做过以下的测试,直接在测试服务器上编写一个小程序,就一个main函数,直接调用occi接口,以下是occi访问数据库的流程以及我的一段代码:
OCCI流程:
createEnvironment; //创建环境变量
createConnection; //通过传入用户名,密码,连接字符串来建立连接
createStatement; //建立statement对象
executeSQL; //执行相应的SQL语句
terminateStatement;
terminateConnection;
terminateEnvironment;
我在main函数中,一部分的代码:
Environment* pEnv = NULL;
bool bHasException = false;
try
{
pEnv = Environment::createEnvironment();
}
catch(...)
{
bHasException = true;
pEnv = NULL;
}
if(NULL == pEnv)
{
if (bHasException)
printf("Create Environment Exception!\n");
else
printf("Ceate Environment Failed!\n");
return -1;
}
printf("Create Environment Successed!\n");
....
由于测试机上是64位Linux, 安装的ORACLE也是64位的,因此在编译的时候我已经指定调用的OCCI库为ORACLE路径下的libocci.so,该库自然也是64位版本的,并且编译时还提示libstdc++.so.5的一个问题,也在编译时指定使用/usr/lib64/libstdc++.so.5,因此编译正常通过了,但是!!!问题在于执行以上的测试程序时,输出直接是“段错误”,无法catch到异常。
接着,小弟将自己32位机器上的libocci.so以及其他的一些依赖库拷贝到测试机上,并且在编译的时候指定使用拷贝过来的这32位occi库,指定/usr/lib/libstdc++.so.5,指定-m32参数,编译正常,执行的时候反而可以得到提示"Create Environment Exceptopn!",这里不明白为何同样的代码,一个可以catch到异常,一个不可以。但是更为关键的是不明白为何无法创建环境变量?
我在网上搜索一些OCCI的安装以及使用,也有网友是在64位Linux系统上安装OCCI并且编写程序访问数据库,但是他们似乎都没有遇到我这样的问题。因此来这里请教各位大神,该项目时间较紧,没想到都到现在了还在纠结环境的问题,如果有哪路好汉遇到过这样的问题或者能帮忙的,感激不尽!!!!
拜谢!!!
推荐阅读
-
1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ...
[详细]
蜡笔小新 2024-12-27 19:32:17
-
本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ...
[详细]
蜡笔小新 2024-12-26 15:15:06
-
-
本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ...
[详细]
蜡笔小新 2024-12-26 13:21:38
-
本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ...
[详细]
蜡笔小新 2024-12-28 10:58:44
-
本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ...
[详细]
蜡笔小新 2024-12-28 10:30:14
-
本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ...
[详细]
蜡笔小新 2024-12-28 08:39:55
-
本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ...
[详细]
蜡笔小新 2024-12-28 05:52:22
-
本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ...
[详细]
蜡笔小新 2024-12-27 19:05:41
-
本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ...
[详细]
蜡笔小新 2024-12-27 17:40:42
-
本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ...
[详细]
蜡笔小新 2024-12-27 10:18:13
-
本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ...
[详细]
蜡笔小新 2024-12-27 03:46:27
-
本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ...
[详细]
蜡笔小新 2024-12-26 19:47:05
-
本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ...
[详细]
蜡笔小新 2024-12-26 19:14:29
-
本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ...
[详细]
蜡笔小新 2024-12-26 16:36:34
-
在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ...
[详细]
蜡笔小新 2024-12-26 16:16:06
-