请问高手,C语言能使用oracle数据库吗?怎么使用呢?多谢!

shaoxiufeng 2004-08-03 09:56:46
我没查到在linux环境下,标准C怎么使用oracle数据库,请高手赐教,最好给个例子
!非常感谢!
...全文
172 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
improgrammer 2004-08-03
  • 打赏
  • 举报
回复
建议直接用oci接口。在Oracle的客户端安装目录下,可以搜索到叫oci.dll和oci.h的文件,包含、连接这些文件就可以了。
OCI怎么用?看Oracle的文档。就是一大堆函数、结构。C和RDBMS基础好的话,上手很快的。
geesun 2004-08-03
  • 打赏
  • 举报
回复
[stel@elephant csdn]$ which proc
/u01/app/oracle/product/9.2.0.1.0/bin/proc
[stel@elephant csdn]$

用这个oracle自己带了解释器!
geesun 2004-08-03
  • 打赏
  • 举报
回复
当然是用proc*c了!
给你个例子:
#include <stdio.h>
EXEC SQL INCLUDE SQLCA;

EXEC SQL BEGIN DECLARE SECTION;
char username[10];
char password[10];
char server[10];
int eno;
char name[10];
float salary;
char action;
EXEC SQL END DECLARE SECTION;

void connect1();
void cursor();
void sql_error();

void main()
{
EXEC SQL WHENEVER SQLERROR do sql_error();
connect1();
cursor();
EXEC SQL COMMIT RELEASE;
}

void connect1()
{
strcpy(username,"ylch");
strcpy(password,"youlian");
strcpy(server,"monitord");
EXEC SQL CONNECT :username IDENTIFIED BY :password using :server;
}

void sql_error()
{
printf("%.*s\n",sqlca.sqlerrm.sqlerrml,sqlca.sqlerrm.sqlerrmc);
}

void cursor()
{
EXEC SQL DECLARE emp_cursor SCROLL CURSOR for
select empno,ename,sal from emp;

EXEC SQL OPEN emp_cursor;
EXEC SQL WHENEVER NOT FOUND do break;
for(;;)
{
printf("\nF:第一行,P:前一行,N:下一行,L:最后一行");
printf("C:当前行,x:退出\n请输入具体的操作:");
scanf("%d",&action);
fflush(stdin);
switch(action)
{
case 'F':
case 'f':
EXEC SQL FETCH FIRST emp_cursor INTO :eno,:name,:salary;break;
case 'P':
case 'p':
EXEC SQL FETCH PRIOR emp_cursor INTO :eno,:name,:salary;break;
case 'N':
case 'n':EXEC SQL FETCH NEXT emp_cursor INTO :eno,:name,:salary;break;
case 'L':
case 'l':EXEC SQL FETCH LAST emp_cursor INTO :eno,:name,:salary;break;
case 'C':
case 'c':EXEC SQL FETCH CURRENT emp_cursor INTO :eno,:name,:salary;break;
case 'X':
case 'x':EXEC SQL CLOSE emp_cursor;return;
}
printf("雇员名:%s,工资:%4.0f\n",name,salary);
}
}


编译的时候先用proc把.pc 解释成 .c,然后再编译
可以找找这方面的资料看看!
bobo-nt 2004-08-03
  • 打赏
  • 举报
回复
pro*c
photnman 2004-08-03
  • 打赏
  • 举报
回复
同意improgrammer(无忌)
而且需要效率的话,就更需要使用oci,
shaoxiufeng 2004-08-03
  • 打赏
  • 举报
回复
太感谢了!非常感谢!

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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