DBF文件格式是一种比较“古老”的数据库文件格式了。要不是最近项目中需要,笔者恐怕到今天也不曾听说过DBF文件格式。
作用:DBF数据库格式是DOS系统中的dBase数据库和FoxPro数据库所使用的数据库格式。如今,如果电脑上没有安装这两款软件,可以使用Excel打开。
数据结构
1. 数据文件.DBF结构分析 

数据库文件由头记录(header record)和数据记录(data record)两个部分组成。头记录从文件位置0开始,定义数据库的结构及其它与数据库有关的信息;数据记录紧接在头记录后面,包含了字段的实际文本内容。 
1.1. 头记录结构描述 
字节00:数据库文件开始及文件类型标志,对应值如下: 
0x02   FoxBASE文件,无备注字段 
0x03   FoxBASE+/dBASE   III   PLUS文件,无备注字段 0x30   Visual   FoxPro数据表文件 
0x43   dBASE   IV   SQL表文件,无备注字段 0x63   dBASE   IV   SQL系统文件,无备注字段 
0x83   FoxBASE+/dBASE   III   PLUS文件,有备注字段 0x8B   dBASE   IV文件,有备注字段 
0xCB   dBASE   IV   SQL表文件,有备注字段 0xF5   FoxPro   2.x(或以前版本)文件,有备注字段 0xFB   FoxBASE文件,有备注字段 
字节01-03:最近一次更新的时间(YYMMDD)。 字节04-07:数据库文件记录的数目。 
字节08-09:第一个数据记录的位置,等于头记录所占的长度。 
字节10-11:每个记录的长度(包括删除标志),等于所有字段宽度之和再加1。 字节12-27:保留,为0x00。 
字节28-29:保留(VFP中已定义为数据表标志和代码页标志)。 字节30-31:保留。 
字节32-n:字段子记录(field   subrecord)。 字节n+1:头记录结束标志0x0D。 
(在VFP中,字节n+2-n+264还包含有.DBC文件路径的相关信息。) 
1.2. 字段子记录结构描述 
头记录第08-09字节指示了数据记录的开始位置,每个数据记录以删除标志开始(0x20或0x28),删除标志后面是记录的具体内容。
字段描述信息从文件第32字节开始,每个字段占32个字节。 
字节00-10:字段名,为ASCII字符串;字段名长度不足10个字符时,以空字符(0x00)填充。 
字节11:字段类型,以大写字母的ASCII码形式存储。 
字节12-15:该字段在数据记录中的偏移值(displacement),等于该字段为止所有字段宽度之和;第一个字段为1(即删除标志所占的一个字节),其它字段该值等于上一字段的值加上本字段的宽度。 字节16:本字段的宽度(字节数)。 
字节17:数字型、浮点型、双精度型字段的小数位宽度。 字节18-31:保留。(字节18在VFP中已被定义为字段标志) 
1.3. 数据记录内容 
除Genral、Picture等类型的字段以外,其它数据字段的实际体内容都是以ASCII码文本形式存储的,如数字型的4存储为0x34。 
1.4. 数据库文件结束标志 
在所有数据记录内容之后,是数据库文件的最后一个字节,即文件结束标志0x1A。
1.5DBF文件中的数据类型:
代码 数据类型 允许输入的数据
C字符型 各种字符。
D日期型 用于区分年、月、日的数字和一个字符,内部存储按照YYYYMMDD格式。
N数值型(Numeric) - . 0 1 2 3 4 5 6 7 8 9
L逻辑型(Logical) ? Y y N n T t F f (? 表示没有初始化)。
M(Memo) 各种字符。
I 整型(Integer) 整型数据只用来表示整数,以二进制形式存储,占用4个字节。其取值范围是:-21474836~21474836。

DBF文件的初步了解(一)相关推荐

  1. 如何通过.dbf文件还原数据库

    一切从实际需求出发!!! 需求: 我方(乙方)需要一套完善的测试环境,基于甲方提供的his测试库来搭建自己的环境 现有资源: 一台操作系统是Windows Server2008R2_enterpris ...

  2. 500分求助,delphi里用standred来配置dbf文件

    500分求助,delphi里用standred来配置dbf文件 Delphi / Windows SDK/API http://www.delphi2007.net/DelphiDB/html/del ...

  3. oracle表空间dbf文件,Oracle 11g表空间dbf文件迁移

    当Oracle的数据文件所在的磁盘空间不够用了或其他情况需要把dbf文件迁移到另外的位置,下面是操作步骤: 1.sqlplus sys/sys as sysdba 2.shutdown immedia ...

  4. Sqlserver 2012 导入 DBF文件

    将dbf文件放在任意系统目录下,我放在d:\db目录下 需安装 AccessDatabaseEngine.exe (ACE) 官网下载地址: https://www.microsoft.com/en- ...

  5. JDBF读取DBF文件

    DBF文件的读取方法: public List<Dbf> readerDbf(String path){         List<Dbf> dbfs = new ArrayL ...

  6. 用PB从ORACLE导出DBF文件,PB导出规定格式DBF文件

    最近在做一个给卫计委做数据上报的数据接口,接口要求使用奇葩的dBase 3数据库存储上报数据,忙活了几天总算搞好了,使用开发工具为powerbuild 12,222个字段的上报数据表生成DBF文件,写 ...

  7. python数据库编程dbf_python读写dbf文件

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. 读取遍历dBASE或Xbase文件中的记录.从Python的序列创建DBF文件. impo ...

  8. shp系列(六)——利用C++进行Dbf文件的写(创建)

    上一篇介绍了shp文件的创建,接下来介绍dbf的创建. 推荐结合读取dbf的博客一起看! 推荐结合读取dbf的博客一起看! 推荐结合读取dbf的博客一起看! 1.Dbf头文件的创建 Dbf头文件的结构 ...

  9. oracle .dbf文件过大_学习这篇Oracle数据库文件坏块损坏的恢复方法,拓展你的知识面...

    一.Oracle数据库系统简介: ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结 ...

  10. Delphi下物理删除dBase数据库的*.dbf文件

    { ************************************************************ } {                                   ...

最新文章

  1. 无线网***工具进攻方法及防范技巧
  2. Turbo C 3.0安装及使用说明
  3. 基于@Bean声明lazy-queue
  4. 关于 ng-template 通过 @input 传入另一个 Component 不能工作的问题调试
  5. 不确定规划及应用代码_性能测试划分之应用领域
  6. 内蒙古大学计算机组成原理实验,内蒙古大学计算机组成原理期末练习0
  7. C++第八周学习小结
  8. [TJOI2015]弦论(后缀数组or后缀自动机)
  9. CentOS 7 断电分区表丢失解决方法
  10. 群聊消息“已读”/“未读” 功能解决方案!
  11. 从零学前端第十七讲:小程序开发
  12. [Git 1]基本操作与协同开发
  13. 能 ping 通但端口不通时端口可用性探测说明
  14. MySQL数据库基础——强大的select之二,更加精彩的功能
  15. zabbix的snmp自动发现
  16. 智慧城市背景下的“多规合一”标准探究
  17. 英语单词如何正确发音?入股血赚!!!
  18. ready 和 onload 的区别
  19. 多帧点云数据拼接合并_基于单帧图像与稀疏点云融合的道路交通标线提取算法研究...
  20. How to design your talend custom component?

热门文章

  1. 你未必知道的 WebRTC:前世、今生、未来
  2. Nginx架构四之七层负载均衡
  3. 苹果(APPLE)开发者账号说明及注册流程(99美元公司版/个人版及299美元企业版)
  4. 开机预读快还是不预读快_启用预读为网页浏览提速
  5. monthCalendar控件改变颜色无变化
  6. 授谷歌绝杀百度的独孤九剑
  7. Miracle密码算法开源库(十二)分析 :mrflsh3.c
  8. 华为SNS2224的Zone配置
  9. 计算机驱动空间的c盘不足怎么办,如果C驱动器空间不足,该怎么办
  10. java98道经典面试题