最近在做一个给卫计委做数据上报的数据接口,接口要求使用奇葩的dBase 3数据库存储上报数据,忙活了几天总算搞好了,使用开发工具为powerbuild 12,222个字段的上报数据表生成DBF文件,写个随笔记录一下踩坑过程。
已踩的坑:
1.网上很少能找到dBASE 3数据库的资料,数据结构,设计工具都很少,试过了一些工具,推荐使用DatabaseNet4。
推荐使用这个工具,是因为这个工具较好的帮助我解决了部分问题。
2.由于才开始没有原始的DBF文件(空库表),我便尝试使用各种工具按照接口数据格式标准设计DBF数据库表结构,才发现char超过100的长度,插入字段命令都不能正确执行,折磨了好久才放弃了定义char 100 和 char 200的数据字段,统一将char 100改为了11,char 200 改为了 22(后面说明),至此 222个字段终于按接口建好。
3.后面有同行有了DBF含数据的库,偷懒要了个空库跟一个带少量数据的库,吐血的发现 ,我都用不了。。。
空库开发工具跟dbase管理工具都只会提示磁盘或网络错误,不知道是少了那个Dll,后面想能不能删了带数据的那个库上的数据,然后从新填写数据来达到我的目的,尝试了一下,我先用ODBC数据源连接上带数据的那个可识别库,在PB里执行删除语句,并做了提交,然后重新给这个DW窗口填满数据,dw_update()竟然搞定了。上传了此数据到接口软件试了下,数据也可以,后面一想数据咋个会大着一些呢,用打开此数据库才发现,原来那些应该删了的数据都还在,只是有个特殊的状态:标记删除!!!卧草,这意味着这些数据一直都在,只是偷偷隐藏起来了!
4.还得想别的方法,总不能上传的数据都带了别人家的数据,于是我开始研究dBase3数据库表的数据结构,别说还真找到了一个好棒法!!下班了,未完待续