Linux proc连接oracle数据库

liplusplus 2010-02-25 09:31:27
工作需要,最近在学习Linux下proc连接oracle数据库的东西,下载了一份文档正在看,但是太慢,谁给一个Linux下proc连接oracle数据库的一个简单范例,要求能运行,包括环境的设置,范例中包含对某个表的一个简单操作,如增删改,谢谢!
...全文
217 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dqswuyundong 2010-10-20
  • 打赏
  • 举报
回复
群主搞定了吗? 小第也在搞,没搞出来。请指点。
liplusplus 2010-02-26
  • 打赏
  • 举报
回复
对的!还有就是环境的设置 。
raley29 2010-02-26
  • 打赏
  • 举报
回复
你是需要一个.pc文件的例子么?
liplusplus 2010-02-26
  • 打赏
  • 举报
回复
这代码我看的云里雾里,主函数好像没有,你给的只是两个函数,那个连接数据库的函数返回语句写的有点问题吧!
raley29 2010-02-26
  • 打赏
  • 举报
回复
从自己代码里截取出来的,好像有些东西没有删掉,我手头没有环境了,所以没有测试,大概意思是这样的
raley29 2010-02-26
  • 打赏
  • 举报
回复
这个是连接数据库的
int sqlconnect(char* usr,char* passwd,char* serv)
{
EXEC SQL WHENEVER SQLERROR GOTO connecterr;
if (serv==NULL)
{
EXEC SQL CONNECT :usr IDENTIFIED BY :passwd AT DB_NAME;
}
else
{
EXEC SQL CONNECT :usr IDENTIFIED BY :passwd AT DB_NAME USING :serv;
}
return 0;
connecterr:
return -1;
}

update 和 delete的可以直接写一个sql,存入sqlstat[](字符型数组)然后
sqloutdata * sqloracle(char* sqlstat)
{
SQLDA *selda;
int i;
sqloutdata *buf;
EXEC SQL WHENEVER SQLERROR GOTO printerr;
EXEC SQL WHENEVER NOT FOUND GOTO notfound;
if (*sqlstat!='s' && *sqlstat!='S')//排除select
{
EXEC SQL AT DB_NAME EXECUTE IMMEDIATE :sqlstat;
return 0;
}
printerr:
return -1;
notfound:
return 100;
}

select 如果是固定字段的比较简单,如果是不定的比较麻烦,都需要游标的操作。



编译 proc ****.pc
生成****.c

gcc -o **** ****.c -I$(ORACLE_HOME)/precomp/public -L$(ORACLE_HOME)/lib -lclntsh


$(ORACLE_HOME)是你的oracle客户端的安装目录
YY_MM_DD 2010-02-25
  • 打赏
  • 举报
回复

----参考下吧
function GetTimeMargin

#########format GetTimeMargin "$firsttime $secondtime"##################
{

sqlplus /nolog <<_EOF_ |grep "###" >tmp.ini
connect $userid
set serveroutput on ;
set head off;
set linesize off;
declare
v_result number(12);
begin
select abs(ceil((to_date('$1','yyyymmddhh24miss') - to_date('$2','yyyymmddhh24miss'))*1440))
into v_result from dual;

dbms_output.put_line('###'||v_result);
end ;
/
_EOF_

echo `more tmp.ini|awk '{print substr($0,index($0,"###")+3,length($0)-index($0,"###")-2)}'`
rm tmp.ini
}
碧水幽幽泉 2010-02-25
  • 打赏
  • 举报
回复
Linux内核一直是学习的难点:将近3000万行代码,5万多个源文件,代码庞大繁杂、代码很难看懂。《Linux内核编程》将突破以往传统的学习方式,采取更有效和科学的学习方法,多角度地对内核进行多层次分析,不局限于形式,不拘泥细节,目的只有一个:更轻松、更高效地去理解内核、学习内核。为了更好地让学员掌握内核编程技能,更好地理解内核,本课程将采用并不局限于以下学习方法进行课程的录制:降维分析,化简为繁,将复杂的系统简单化用软件工程的方法分析内核:软件分层、模块化分解、框架迭代多角度立体分析Linux内核,目的只有一个:更好地理解内核利用Linux内核中的面向对象编程思想去分析复杂的子系统、子系统交互利用多任务编程的思想去分析Linux内核本套课程预计分为20个左右的小模块,每个模块一个专题,每个专题会陆续发布。拟录制的模块包括但不限于:模块机制、内核裁剪与配置、内核编译与启动、系统调用、中断、文件系统、调度、内存管理、内核同步、设备模型、字符驱动、块驱动、定时器、input、platform设备驱动、device tree、proc、sysfs、I/O...  本课程是《Linux内核编程》的入门篇,主要给大家介绍一下Linux内核开发、Linux驱动开发的就业行情、行业生态、需要掌握哪些技能、Linux内核的学习方法、如何搭建Linux内核的学习开发环境。 

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧