免费注册 查看新帖 |

Chinaunix

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

求救:关于使用SQLDA出现MEMORY FAULT(COREDUMP)问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-06 15:15 |只看该作者 |倒序浏览
这是《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;
    1  struct 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;
    6  descp->sqlvar=(struct sqlvar_struct *)calloc(count,sizeof(struct sqlvar_struct));

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

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

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

论坛徽章:
0
2 [报告]
发表于 2008-03-06 17:00 |只看该作者
没有人可以帮忙吗???是太简单了还是????

论坛徽章:
0
3 [报告]
发表于 2008-03-06 18:40 |只看该作者
#include <stdlib.h>
exec sql include sqlda.h;

论坛徽章:
0
4 [报告]
发表于 2008-03-07 11:17 |只看该作者

回复 #3 ivhb 的帖子

非常感谢!!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP