当前位置:  技术问答>linux和unix

linux下oracle操作odbc、 por*c/c 、oci/occi

    来源: 互联网  发布时间:2015-12-28

    本文导语:  环境: redhat  kernel 2.6.9-5.EL oracle  从otn上下载安装的10201_database_linux32.zip,10201_client_linux32.zip. 描述: 在linux下用c/c++语言,连接到oralce数据库对数据库进行操作(select,update,insert,delete以及存储过程的执行)。 1:用oci...

环境:
redhat  kernel 2.6.9-5.EL
oracle  从otn上下载安装的10201_database_linux32.zip,10201_client_linux32.zip.

描述:
在linux下用c/c++语言,连接到oralce数据库对数据库进行操作(select,update,insert,delete以及存储过程的执行)。
1:用oci的方式连接,因为oracle call interface文档太多,而且oracle10g的数据库上没有oci的demo,好像只找到oc4j。
2:后来用unix-odbc, 主要就是这个地方的例子。http://www-128.ibm.com/developerworks/cn/linux/database/odbc/index.html
在例子里面没有定义hstmt的变量,加了SQLHSTMT hstmt;并改头文件#include 
#include 
#include 
程序编译通过,连接时加入usr/local/lib下面的一个liboraodbc.So这个库, 
gcc -g -o odbcDemo -L/usr/local/lib -l oraodbc odbcDemo.c 通过。
执行之后,出现segmentation fault错误。网上搜过这个错误,最后gdb调试定位到
SQLBindCol(V_OD_hstmt,1,SQL_C_CHAR, &V_OD_buffer,150,&V_OD_err);
    SQLBindCol(V_OD_hstmt,2,SQL_C_ULONG,&V_OD_id,150,&V_OD_err);这两句话里面的第四个参数有错误。把这个参数的类型对应成了数据库里面对应字段的类型,以及更改第五个参数(长度),程序还是报这个错误。

问题:
对上面那个unixodbc方法,存在的问题,有没有人做过类似的工作,在线等待请帮忙解答。
关于linux下用c/c++对数据库进行操作,有没有其它的一些解决办法?
如果有类似的源代码或者开源的一些代码,将非常感激......

|
我用的是OCI。
         CDBRecordSet rs1;
         CDBConnection *pConn = new CDBConnection;
iResult=pConn->Open("username","password","database","ip");
if (iResult!=0)
{
fprintf(stderr,"nOpen Error!n");
exit(0);
}

......
char sSqlStmt[1024];
         memset(sSqlStmt,0,sizeof(sSqlStmt));    
sprintf(sSqlStmt,"select * from TB_CALLTRANSFER ");  

if (rs1.Open(sSqlStmt,pConn) ==0 )
{
    for(unsigned int k=0; k

    
 
 

您可能感兴趣的文章:

  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • linux 怎么也能用鼠标操作?? 我的系统是Ubuntu ,不是说linux都用代码操作么??
  • mount命令(linux操作系统)挂载卸载文件系统(cifs,光驱,nfs等)方法介绍
  • 请问各位,我想学习linux,是装linux操作系统还是在虚拟机下装操作系统呢?那种好点啊
  • linux下不使用sudo命令执行docker的操作步骤
  • 请问LINUX操作系统是怎样对外围设备进行操作的
  • Linux下GCC内置原子操作函数(多线程资源访问)介绍
  • 请问命令行操作下怎么改Linux操作系统的日期和时间?
  • Linux下u盘文件系统相关操作
  • 在linux操作系统上向ftp服务器(linux系统)上上传文件,我要纪录操作日志,得到上传到ftp服务器上的文件的路径问题?
  • Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境)
  • 基于linux操作系统之上操作LCD问题,急???
  • linux 操作系统下ps命令介绍
  • Linux操作系统和Hurd操作系统
  • Linux和windows下用mysql c++ library操作Mysql数据库
  • 哪位大侠知道Linux里的有名管道传送数据快不快?有名管道操作的过程是否有读写硬盘的操作?
  • 我想格式掉linux操作系统,但这样会把引导区也格式掉,在format linux操作系统之前,该怎么设置引导区??
  • 已安装了Windows操作系统,还想安装Linux。却还想在开机选择操作系统时由Windows引导,请问如何操作。在线等待
  • 1哪位大侠知道Linux里的有名管道传送数据快不快?有名管道操作的过程是否有读写硬盘的操作?
  • ARM系列开发板是不是一定要用LINUX操作系统。windows操作系统可以吗?
  • linux 的命令操作和 windows的命令提示行有什么不同呢?? 为什么windows一般都不用命令提示行操作呢??
  • linux下安装oracle后使用命令行启动的方法 linux启动oracle
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • Linux系统下Oracle的启动与Oracle监听的启动
  • 在linux 中如何删除oracle db 与卸载oracle.
  • 如何将Aix上的oracle 物理备份 然后再在linux 系统上还原oracle
  • 那里有免费的oracle odbc driver for linux?或怎么破解easysoft oracle odbc driver安装包?急
  • XP Oracle客户端进入Linux Oracle服务端
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • 在Red Hat Linux 9 和 Oracle 9.2 环境下,如何配制字符集,让Oracle能存入并显示日语里的假名?
  • 红帽Linux表示Oracle提供Linux支持是不完美的
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下用ODBC链接Oracle怎么连啊?跪求具体方法!!!
  • Unix/Linux上的ODBC驱动 unixODBC
  • linux下odbc问题
  • 求linux下连接odbc的C语言代码
  • linux下有类似于odbc的数据接口吗,如果没有那它是什么?
  • /** 急...哪儿有MS Access的ODBC驱动(for linux)下载? */
  • 那里有免费的oracle odbc driver for linux?
  • linux下有没供C用的类似ADO或ODBC的通用数据库接口?
  • Linux上怎么配置oracle的ODBC数据源?
  • /** 急...哪儿有MS Access和MS SQL Server的ODBC驱动(for linux)下载? */
  • linux下安装ODBC失败,教教我啊!!!谢谢
  • 请问谁有Foxpro ODBC driver running in Linux!!
  • 请问linux下有没有类似与ODBC的数据库访问标准能够访问MS SQLSERVER ?
  • linux 环境下 odbc程序 往oracle数据库insert 中文 乱码问题,请教高手,急!!!!在线等~~
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • secureCRT下Linux终端汉字乱码解决方法
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • Linux c字符串中不可打印字符转换成16进制
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • linux命令大全详细分类介绍及常用linux命令文档手册下载
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • Linux Kernel 'sctp_v6_xmit()'函数信息泄露漏洞
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在没有linux的盘,只有DOS启动盘)
  • linux c下利用srand和rand函数生成随机字符串
  • 如何让win2000和linux共存。我装好WIN2000,再装LINUX7.0,但LILO只能找到LINUX,不能引导WIN2000
  • Linux c++虚函数(virtual function)简单用法示例代码
  • 在windows中的VMware装了个linux,主板有两个串口,能做windows和linux的串口通信测试么,怎么测试这两个串口在linux是有效
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3