免费注册 查看新帖 |

Chinaunix

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

如何用cc编译内嵌SQL语句的源程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-01-28 01:25 |只看该作者 |倒序浏览
希望能具体指导:我是先写了一个非常简单的.PC程序,见下面,然后用proc iname=test.PC进行预编译为test.c文件,再用cc test.c编译时发生了如下错误信息:
ld fatal: sysmbol referencing errors, No output written to a.out.
    由于test.PC程序含有SQL语句EXEC SQL COMMIT WORK RELEASE,预编译后产生了较多非C语言代码,但不知道如何在cc编译时将与数据库操作相关的函数全部连接上。另外,不知道用proc进行预编译时,是否需要添加一些可选项。


test.PC程序如下:
#include <stdio.h>;

EXEC SQL INCLUDE SQLCA;
main()
{
printf("\n OK! \n";

EXEC SQL COMMIT WORK RELEASE;

exit(0);

}

论坛徽章:
0
2 [报告]
发表于 2003-01-28 06:07 |只看该作者

如何用cc编译内嵌SQL语句的源程序

偶还没有学~~~~~~~~~~~~
帮不上忙,只好顶一下了~~~~

论坛徽章:
0
3 [报告]
发表于 2003-01-28 08:59 |只看该作者

如何用cc编译内嵌SQL语句的源程序

你要包含sqlca.h、sqlda.h等等。
还有,你要设置oracle的路径,并在编译时进行连接。

论坛徽章:
0
4 [报告]
发表于 2003-01-28 09:16 |只看该作者

如何用cc编译内嵌SQL语句的源程序

linux下没有啊?怎么办?俺想知道!!

论坛徽章:
0
5 [报告]
发表于 2003-01-28 09:41 |只看该作者

如何用cc编译内嵌SQL语句的源程序

首先,如果你用PRO*C写ORACLE数据库应用程序,那么你的机器上一定要安装ORACLE数据库或者ORACLE数据库的客户端。
其次,你要在环境变量里设置ORACLEHOME.。
第三,编译程序的时候最好使用makefile文件。ORACLE俺装好后会有一个MAKEFILE的模版文件,你可以在这个文件的基础上修改一下就可以了。

论坛徽章:
0
6 [报告]
发表于 2003-01-28 10:05 |只看该作者

如何用cc编译内嵌SQL语句的源程序

这个可以把proc编译为c,以后怎么编就是你的事了
中间部分的cursor设置和sql检查你可以不要
我在aix和oracle9i上通过

$(ORACLE_HOME)/bin/proc release_cursor=yes hold_cursor=no sqlcheck=syntax ireclen=256 SQLCHECK=FULL iname=$(PROG).pc  USERID=username/passwd@sid

论坛徽章:
0
7 [报告]
发表于 2003-01-28 10:09 |只看该作者

如何用cc编译内嵌SQL语句的源程序

如何跨越数据库编程,去掉移植性很差的嵌入sql语句,使得程序能 for oracle or mysql or ODBC or ...
http://cwqu.3322.org/itf_db.htm

论坛徽章:
0
8 [报告]
发表于 2003-01-28 10:17 |只看该作者

如何用cc编译内嵌SQL语句的源程序

俺不喜欢一些非标准的封装的东西
因为这样可维护性很差

标准的东西大家都看得明白
有时候用点小技巧,其实多的麻烦都有了,不划算

ps:有一次改一段程序,前面有五个人经手了,当时的感觉就是还不如重写

论坛徽章:
0
9 [报告]
发表于 2003-01-28 15:05 |只看该作者

如何用cc编译内嵌SQL语句的源程序

请问:
  如果是数据库是DB2,该如何编译?

论坛徽章:
1
20周年集字徽章-20	
日期:2020-10-28 14:04:30
10 [报告]
发表于 2003-01-29 09:43 |只看该作者

如何用cc编译内嵌SQL语句的源程序

源程序应该是ec结尾的!下面是部分的makefile文件内容
PRECOMP = $(SYBASE)/bin/cpre $(INCDIR)

.ec.o:
        @echo Compiling $@.......
        $(PRECOMP)  $?
        $(CC) -c $(@:.o=.c)  $(SYBASE)/include/sybesql.c
        @rm $(@:.o=.c)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP