免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1361 | 回复: 3
打印 上一主题 下一主题

关于OCI方面的求助! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-02-03 12:19 |只看该作者 |倒序浏览
我刚学oci,哪位大虾能否介绍一下基础知识。如连接oracle库,进行select,insert,update等.都用到哪些函数?
我有个程序如下:oci_login1.c
/*定义数据类型*/

/*OCI与ORACLE进行连接*/

#include <stdlib.>;
#include <ocidfn.h>;
/*建立登录数据区*/
lda_def lda;
/*建立宿主数据区*/
ub1 had[256];
/*建立光标数据区*/
cda_def cda;
/*初始化数据库名和口令*/
text *uid="dbtest/dbtest";
/*定义一个串变量sql语句,并用PL/SQL块来初始化它*/
char sql_statament[]="select * from emp;";
/*连接数据库*/
if (orlon(&lda,&had,uid,-1,(text*)0,-1,0))
{ /*连接失败*/
error_handler(&lda);
exit(EXIT_FAILURE);
}
/*打开光标*/
if (oopen(&lda,&cda,0,0,0,0,0))
{ /*打开光标失败 */
printf("Cannot open cursor, exiting......\n";
exit(1);
}
编译: gcc -I/opt/oracle/product/9.2.0/rdbms/demo -I/opt/oracle/product/9.2.0/rdbms/public oci_login1.c
出现错误:
gcc -I/opt/oracle/product/9.2.0/rdbms/demo -I/opt/oracle/product/9.2.0/rdbms/public oci_login1.c
oci_login1.c:10: parse error before `lda'
oci_login1.c:10: warning: data definition has no type or storage class
oci_login1.c:14: parse error before `cda'
oci_login1.c:14: warning: data definition has no type or storage class
oci_login1.c:20: parse error before `if'
oci_login1.c:23: parse error before `1'
oci_login1.c:23: conflicting types for `exit'
/usr/include/stdlib.h:577: previous declaration of `exit'
oci_login1.c:23: warning: data definition has no type or storage class
oci_login1.c:29: parse error before `1'
oci_login1.c:29: warning: data definition has no type or storage class
oci_login1.c:47: parse error before `0'


我非常急用,恳请能尽快给予帮助!多谢!
tommy 该用户已被删除
2 [报告]
发表于 2004-02-03 13:34 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2004-02-03 13:43 |只看该作者

关于OCI方面的求助!

有本书《Oracle Call Interface
Programmer’s Guide
Release 8.1.6》
不知道你用的是什么版本的
我看到都是这种:
m_rc = OCIInitialize((ub4) OCI_DEFAULT, (dvoid *)0,  
                (dvoid * (*)(dvoid *, size_t)) 0,
                (dvoid * (*)(dvoid *, dvoid *, size_t))0,
                (void (*)(dvoid *, dvoid *)) 0 );

        /* Initialize evironment */
        m_rc = OCIEnvInit( (OCIEnv **) &m_penv, OCI_DEFAULT, (size_t) 0, (dvoid **) 0 );


                /* Initialize handles */
        m_rc = OCIHandleAlloc( (dvoid *) m_penv, (dvoid **) &m_perr, OCI_HTYPE_ERROR,
                (size_t) 0, (dvoid **) 0);

        m_rc = OCIHandleAlloc( (dvoid *) m_penv, (dvoid **) &m_psvc, OCI_HTYPE_SVCCTX,
                (size_t) 0, (dvoid **) 0);

..........................
不知与你的有什么区别?
tommy 该用户已被删除
4 [报告]
发表于 2004-02-03 15:37 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP