开发datastage parallel routine
2015-12-08 21:54
387 查看
1.首先用c语言编写一个c语言程序:trans.c
#include <string.h>
#include <stdio.h>
char *transname(char *strname)
{
char *str;
char *str1="ZJ";
char *str2="CRJ";
if(strcmp(strname,str1)==0)
str="梅西";
else if(strcmp(strname,str2)==0)
str="范迪塞尔";
else str=strname;
return str;
}
2.编译,这一步是关键。必须选择正确的编译参数。一下是参考别人写得Makefile文件:
CC = g++ -g -O -fPIC -c -m64
CCLIB = g++ -g -O -shared
.SUFFIXES: .c .o
APT_INCLUDE = $(APT_ORCHHOME)/include
APT_LIBDIR = $(APT_ORCHHOME)/lib
APT_LIBS = -lorchgeneralx86_64 -lorchsortx86_64 -lorchx86_64\
-lorchcorex86_64 -lorchmonitorx86_64
LIB=-L$(APT_LIBDIR) $(APT_LIBS)
INCL=-I"$(APT_INCLUDE)"
VERSION=V1.0
RM = rm -f
OBJECTS = trans.o
EXECUTE=trans.so
all: $(EXECUTE)
$(EXECUTE): $(OBJECTS)
$(CCLIB) -o $(EXECUTE) $(LIBDIRS) $(OBJECTS) $(LIB)
.c.o:
$(CC) -c $(INCL) $< -o $@ $(CXXFLAGS) $(CFLAGS)
clean:
@$(RM) *.o
3.编译后会生成trans.o trans.so两个文件,其中.o是目标文件,.so是库文件。
4.在datastage的designer中设计routine
5.设置例程的基本参数,名称,外部函数等
需要注意的的是,按道理选择“库”,那么库路径就应该是.so文件的路径,选择“对象”就应该是.o文件的路径,但是我这里选择“对象”的时候,库的路径既可以选择.o也可以选择.so。选择“库”的时候选择.o和选择.so都报错。
6.最后设置创建者和参数(主要是参数),这里设置了一个输入参数,且为字符串类型
。
7.使用routine
#include <string.h>
#include <stdio.h>
char *transname(char *strname)
{
char *str;
char *str1="ZJ";
char *str2="CRJ";
if(strcmp(strname,str1)==0)
str="梅西";
else if(strcmp(strname,str2)==0)
str="范迪塞尔";
else str=strname;
return str;
}
2.编译,这一步是关键。必须选择正确的编译参数。一下是参考别人写得Makefile文件:
CC = g++ -g -O -fPIC -c -m64
CCLIB = g++ -g -O -shared
.SUFFIXES: .c .o
APT_INCLUDE = $(APT_ORCHHOME)/include
APT_LIBDIR = $(APT_ORCHHOME)/lib
APT_LIBS = -lorchgeneralx86_64 -lorchsortx86_64 -lorchx86_64\
-lorchcorex86_64 -lorchmonitorx86_64
LIB=-L$(APT_LIBDIR) $(APT_LIBS)
INCL=-I"$(APT_INCLUDE)"
VERSION=V1.0
RM = rm -f
OBJECTS = trans.o
EXECUTE=trans.so
all: $(EXECUTE)
$(EXECUTE): $(OBJECTS)
$(CCLIB) -o $(EXECUTE) $(LIBDIRS) $(OBJECTS) $(LIB)
.c.o:
$(CC) -c $(INCL) $< -o $@ $(CXXFLAGS) $(CFLAGS)
clean:
@$(RM) *.o
3.编译后会生成trans.o trans.so两个文件,其中.o是目标文件,.so是库文件。
4.在datastage的designer中设计routine
5.设置例程的基本参数,名称,外部函数等
需要注意的的是,按道理选择“库”,那么库路径就应该是.so文件的路径,选择“对象”就应该是.o文件的路径,但是我这里选择“对象”的时候,库的路径既可以选择.o也可以选择.so。选择“库”的时候选择.o和选择.so都报错。
6.最后设置创建者和参数(主要是参数),这里设置了一个输入参数,且为字符串类型
。
7.使用routine
相关文章推荐
- telnet连接操作memcache服务器详解
- sql left join 命令详解
- datastage server job之dsjob 命令
- "error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
- datastage 7.5.X 问题汇总
- datastage 客户端连接 vmware linux 中datastage 服务器?
- datastage designer 客户端连不上服务端,点击 project 下拉菜单报错
- IBM 官方datastage文档链接
- datastage运行时错误总结(更新中)
- datastage(IBM InfoSphere Information Server )日志的获取和分析
- datastage transformer函数总结
- datastage transformer控件详解
- datastage中join,lookup,merge的区别
- datastage环境配置
- DataStage 分区(Partition)
- When reading database column DATETIME(fraction=6) into column DATETIME(fraction=0)
- datastage sequential file 控件的使用
- datastage教程
- datastage 重启
- datastage 重启 续