Linux proc连接oracle数据库

liplusplus 2010-02-25 09:31:27
工作需要,最近在学习Linux下proc连接oracle数据库的东西,下载了一份文档正在看,但是太慢,谁给一个Linux下proc连接oracle数据库的一个简单范例,要求能运行,包括环境的设置,范例中包含对某个表的一个简单操作,如增删改,谢谢!
...全文
240 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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
  • 打赏
  • 举报
回复

3,494

社区成员

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

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