您的位置:首页 > 数据库

IBM-DB2中运行e-sql例子程序makefi…

2016-01-17 16:54 232 查看
找出static.sqc utilemb.h
utilemb.sqc三个文件拷贝到工作录,并修改static.sqc中的嵌入式select
sql语句中的表的模式让它符合你的数据库环境,其中static.sqc 在v8以前是可以找到的,新版Ms没有了。

编写makefile如下:

DB2PATH = /home/$(DB2INSTANCE)/sqllib

# Use the g++ compiler
CC= gcc
CXX=g++

# The required compiler flags
EXTRA_CFLAGS=-g

DB2INCPATH= $(DB2PATH)/include
DB2LIBPATH= $(DB2PATH)/lib

# The required libraries
LIBS= -ldb2

CFLAGS= $(EXTRA_CFLAGS) -I$(DB2INCPATH)
LFLAGS= -L$(DB2LIBPATH) -Wl,-rpath,-g -L$(DB2LIBPATH)
CPPFLAGS=$(EXTRA_CFLAGS) -I$(DB2INCPATH)

# To connect to a remote SAMPLE database
DB=sample

ERASE=rm -f

#==============================================================
.SUFFIXES: .o .c .cpp .sqc .bnd
%.c %.bnd : %.sqc
db2 connect to $(DB)
db2 prep $< bindfile
db2 bind $*.bnd
db2 connect reset
db2 terminate

#==============================================================
# This program's object code files
PRG = static
OBJS = static.o utilemb.o

#==============================================================

all : $(PRG)

.PHONY: all

$(PRG) : $(OBJS)
$(CC) -o $@ $(LFLAGS) $(OBJS) $(LIBS)

#==============================================================
.PHONY : clean
clean :
$(ERASE) *.o *.map *~

cleanall : \
clean
$(ERASE) *.bnd
$(ERASE) $(PRG)

此makefile文件简单明了,充分利用了模式匹配规则和默认匹配规则,但缺点是每次把sqc编译成c语言文件时需要做一次数据库连接。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: