----目前,我国许多单位MIS系统建立在微机PC或基于NovellNetWare局域网环境中,数据库和开发工具采用FoXPRo2.5 for DOS或Foxpro 2.5 for Windows,以dbf文件为数据组织治理手段,随着系统的不断扩大和实际应用的需要,不少单位已开始采用大型数据库Oracle。在MIS从Foxpro升级到大型数据库Oracle过程中,将Foxpro的dbf文件通过Oracle工具SQL*Loader加载到Oracle数据库中是一项非常重要的工作。一般用SQL*Loader加载的具体实施步骤是:
#include < stdio.h > #include < stdlib.h > #include < iostream.h > #include < fstream.h > #include < string.h > #include < math.h > #define MAX_ROW_LENGTH 1200 #define MAX_FIELD_NUMBER 30 typedef strUCt head // dbf头文件结构 { unsigned char mask ; unsigned char date[3] ; unsigned long record_num; unsigned short int head_length; unsigned short int field_length ; } HEAD ;
typedef struct field // dbf字段结构 { unsigned char name[11]; unsigned char type ; unsigned long add; unsigned char length; unsigned char dec ; } FIELD ;
int main(int argc,char **argv) { char buf[MAX_ROW_LENGTH],dbf[40],*sqlload; unsigned int i,field_num; HEAD *dbfhead ; FIELD dbffield[MAX_FIELD_NUMBER]; FILE *fout, *fp;