----目前,我國許多單位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;