outofrecycle 发表于 2008-03-06 15:15

求救:关于使用SQLDA出现MEMORY FAULT(COREDUMP)问题

这是《INFORMIX ESQL/C应用开发》书的一个例子,编写后出现了上述问题,主要部分的代码如下:
#INCLUDE "stdio.h"
$include sqlca.h;
$include sqlstype.h;
main()
{
    exec sql begin declare section;
      char fn[]="aaaa";
      char ln[]="bbbb";
    exec sql end declare section;
    1struct sqlda *descp;
    2$database stores_demo;

    3$prepare updateSta from "update customer set fname=?,lname=? where costomer_num=102";
    4$describe updateSta into descp;
   
    5$int count=2;
    6descp->sqlvar=(struct sqlvar_struct *)calloc(count,sizeof(struct sqlvar_struct));

    7descp->sqld=count;
    8desc[->sqlvar.sqldata=fn;
    9descp->sqlvar.sqltype=0;
    10 descp->sqlvar.sqllen=20;
    11 desc[->sqlvar.sqldata=ln;
    12 descp->sqlvar.sqltype=0;
    13 descp->sqlvar.sqllen=20;

14 $execute updateSta using descriptor descp;
15 $close database
}

以上程序esql可以通过,运行时候出现了memory fault问题。
检查发现主要是第6行为sqlvar分配内存时存在问题,大家帮忙分析一下怎么回事啊
刚接触esql/c,不是很熟悉,谢谢大家了!

outofrecycle 发表于 2008-03-06 17:00

没有人可以帮忙吗???是太简单了还是????

ivhb 发表于 2008-03-06 18:40

#include <stdlib.h>
exec sql include sqlda.h;

outofrecycle 发表于 2008-03-07 11:17

回复 #3 ivhb 的帖子

非常感谢!!!!!!
页: [1]
查看完整版本: 求救:关于使用SQLDA出现MEMORY FAULT(COREDUMP)问题