<b>用C++产生QL*Loader各类文件</b>[VC/C++编程]
本文“<b>用C++产生QL*Loader各类文件</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1.前言
目前,我国很多单位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加载的具体实施步骤是:
* 运行Foxpro,翻开数据库,将dbf文件拷贝为SDF格局的文本文件
* 按照dbf文件构造,产生成立Oracle表(CREATETABLE)的SQL语句
* 登录Oracle,运行产生Oracle表(CREATETABLE)的SQL语句
* 按照dbf文件构造,产生SQL*Loader的掌握文件
* 运行SQL*Loader,加载数据
用手工办法产生CREATETABLE的SQL语句,分外是产生SQL*Loader掌握文件时,POSITION起始、完毕位置常常弄错,当需求加载大量的数据时,
不但烦琐,并且效率对比低.我们在实践中操纵BorlandC++5.0编制了一个C++实用程序load.cpp,自动产生SQL*Loader的数据文件、掌握文件和产
生CREATETABLE的SQL语句.应用load,我们只需:
* load<数据库名>
* 登录Oracle,运行产生Oracle表(CREATETABLE)的SQL语句
* 运行SQL*Loader,加载数据
在实践中,我们通过这种办法,在实现从Foxpro到OracleforDigitalUNIX+中文Windows95的client/server平台的数据加载历程中提高了效率.
2.Foxpro中dbf文件构造
dbf文件由文件头和文件记录构成,此中文件头又由数据库阐明和字段阐明构成.数据库阐明由32个字节构成,各字节含义以下:
字节 含义
0 数据库文件标志有没有备注型字段(03H无)
1-3 最后一次改正日期
4-7 文件记录数
8-9 文件头长度
10-11 记录长度
12-31 未用
字段阐明由若干个32字节构成,每32字节阐明一个字段,各字节含义以下:
字节 含义
0-10 字段名
11 字段范例
12-15 该字段在文件首记录中的地址
16 字段长度
17 小数位数
18-31 未用
文件记录以ASCII情势存储,每条记录以空格(20H)开首,该空格用来作删除标志用.
三
【注】:
* 不考虑完好性约束,同时关于TABLESPACE及STORAGE存储参数取缺省值.
* 关于数字型字段,n表示数字的宽度,在Foxpro中包含小数点位置,而在Oracle中不包含.
* 关于Foxprological型字段范例,由于Oracle中没有呼应的逻辑型变量,故将其转换为字符范例.
* 暂且不考虑memo、general、picture字段的转换.
以上是“<b>用C++产生QL*Loader各类文件</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |