我现在使用ESRI shapefile格式,我在更改/编辑数据库字段大小时遇到了一些问题。我创建了一个200长度/大小的字段,现在我希望它只有80长度/大小(空间和其他改进)。
但是我不能再编辑字段大小:(有人可以指出如何更改字段大小?
顺便说一下,我尝试过可以编辑字段大小的DBF资源管理器等工具,但是当我在字符/文本字段上更改字段大小时,浮点/数字字段上的数据会被删除:(
DBF Explorer
PS:ESRI数据库使用.dbf扩展名,我认为它是DBASE III plus或DBASE IV格式
答案 0 :(得分:5)
执行 NOT 编辑标题,数据按固定偏移对齐,并将字段大小更改为与物理不匹配的内容记录的长度将破坏您的表格。
您需要能够读取/写入DBF的内容才能有效地执行此操作。旧的DBase安装可以工作,虽然你最好使用Visual FoxPro(FoxPro命令将是 MODI STRU ,它是“ MODIFY STRUCTURE ”的缩写)。我还会看一下将数据推送/拉到其他格式的其他工具。如果您有权访问Access(请原谅双关语),您始终可以将数据作为Access表导入Access,重组表,然后将其导出,尽管从Access 2007开始,本机DBF / FoxPro支持更多或者少删除,需要ODBC。其他(更耗时的)措施是:
答案 1 :(得分:2)
要编辑.dbf文件中的字段大小,我使用OpenOffice。在OpenOfficeSpreadsheet中,.dbf字段名称将显示为“FEILDNAME,C,200”。要从200改变大小 - > 80你必须将字段名称改为:“FEILDNAME,C,80”然后保存.dbf文件。
答案 2 :(得分:1)
它的DBASE III(有点)。
dbf文件都包含元数据(如字段大小和类型)和数据。它们都是固定大小的存储。
我不记得是否有工具可以更改fieldsize,但您可以创建一个新表并复制数据。但是the format并不那么难。
答案 3 :(得分:1)
您可以编辑文件的标题以使用任何十六进制编辑器进行更改。
字节10-11:表示记录的长度(最低有效字节优先)
从字节48开始,描述该字段的重复结构(每个48字节)。该结构的字节33表示长度。