有一些源文件是文本格式的,每个字段为定长,无分隔符。想要把这些文件导入db2数据库表中。
有没有什么快捷的方法。
我现在的想法是:
1. 写一个通用的sqc程序,在一个配置文件中定义好要导入的表名、字段数、每个字段的长度。如
tblnm1
field1_len
field2_len
....
2. 执行程序时,根据配置文件中的字段数、每个字段长度生成sql语句,插入相应表中
3. 因为每个表的字段数不一定,假如每个字段最长不超过30、最大200个字段
想定义如下
EXEC SQL BEGIN DECLARE SECTION;
char hsDbsNm[20+1];
long iFldSeq[200];
char sFldInf[200][30];
EXEC SQL END DECLARE SECTION;
但发现整形数组、字符型二维数组好像均不支持
环境 AIX db2
========================
或是谁有更好的,效率更高的方法。
写成shell也可以,但最好是通用的。
------解决方案--------------------------------------------------------
http://publib.boulder.ibm.com/infocenter/db2luw/v9
关于嵌入式编程 ibm官网信息中心有些样本程序和例子 你看看相关信息把
------解决方案--------------------------------------------------------
用awk把文件加上分隔符,然后用import或者load来处理不行吗?
------解决方案--------------------------------------------------------
既然要做一个那么详细的配置文件,还不如直接把表的信息写成结构体,然后程序中读文件判断是写那个表的数据,然后把文件中的值赋予结构体中,然后insert吧。
我只有这两下子了。。。。
------解决方案--------------------------------------------------------