- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将数据从 Act 2000 转换为 MySQL 数据库。我已经成功地将 DBF 文件导入到单独的 MySQL 表中。但是我遇到了 *.BLB
的问题文件,这似乎是一个非标准的备忘录文件。
DBF 文件将自身标识为 dbase III Plus,无备注格式。有一个*.BLB
这是多个 DBF 共享 BLOB 数据的备忘录文件。
如果您阅读本文档:http://cicorp.com/act/sdk/ACT6-SDK-ChapterA.htm#_Toc483994053 )
您可以看到 REGARDING
列是一个 6 个字符。描述是: 该 6 字节字段由系统提供,包含对二进制大对象 (BLOB) 数据库中字段的引用。
现在打开*.BLB
我可以看到块大小为 64 字节。所有文本块都被 NULL 填充到该大小。
我绊倒的地方是试图将存储在 REGARDING 列中的值转换为 BLB 文件中的块位置。我的假设是 6 个字符的字段是一个偏移量。
例如,REGARDING 的一个值是,(忽略方括号): [ ",J$]
在我的谷歌搜索中,我发现了这个:http://ulisse.elettra.trieste.it/services/doc/dbase/DBFstruct.htm#C1.5
它解释了在备注字段中(至少在普通 DBF 文件中)空间值被忽略(即它填充了列)。
因此,如果我是正确的(再次,方括号) [",J$]
应该是我的 BLB 文件中的偏移量。幸运的是,我仍然可以访问原始的 ACT2000 软件,因此我可以比较程序/MySQL 和 BLB 文件中的全文。
使用我的示例值,我知道带有 REGARDING
的 DB 行[ ",J$]
的值对应于 1024 字节的偏移量(或 16 个块,假设我猜测的块大小为 64 字节)。
我已经尝试阅读一些用于读取 DBF 文件的开源项目的 Python 代码 - 但我不知所措。
我认为我需要做的是将字符解包为二进制,但我不确定。
如何根据 DBF
中的内容找到要读取的基于 64 块的点文件?
杰瑞·道奇编辑
我试图将此字段中的字符串反向工程为十六进制值,然后使用 StrToInt64
反向工程为整数值。 ,但结果仍然与 blob 文件不匹配。我也试过将这个整数值乘以 64 而不是相乘,但结果总是超出 blob 文件的大小,实际上没有找到任何数据。
例如,值 ___/BD
( _
= 空格) 转换为 $2f4244
十六进制,反过来转换为 3097156
的整数值,但与 blob 文件中的任何相关数据部分都不对应,即使乘以或除以 64 也是如此。
最佳答案
根据您链接的 SDK,据我所知会发生以下情况:
有一个TYPE
字段(右侧 REGARDING
)编码什么 REGARDING
用于(参见链接章节的第二个表格)。所以我假设如果 type=6
( session 未召开)REGARDING
要么不相关,要么只包含来自某个其他表的 session ID 引用。在这个思路上,我只期待 REGARDING
如果 type=101
,则为 BLB 偏移量(或可能是 100)。我也不会放弃在这些相关情况下 TYPE 可能是 BLB 文件索引和偏移量的串联的想法(因为提到每个文件不得超过 30K 个字符,我真的希望能够存储很多即使在一张表中也有更多数据)。
关于dbase - 如何从 ACT 读取非标准 DBF 备忘录 (BLOB) 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10810953/
我正在编写一个程序,它必须规范化音频 *.wav 文件。有一个“显示头部数据”的任务:ChunkId、ChunkSize 等等。 我想创建一个名为display_hdr 的函数(为了减少main.c
我有一个带有缩放类的 css 文件:1。 我在浏览器控制台上收到以下错误。 此页面使用非标准的“缩放”属性。相反,您可以将 calc() 或“transform”与“transform-origin:
我想模拟来自非标准密度函数的数据。我已经找到以下链接( How do I best simulate an arbitrary univariate random variate using its
使用已安装的 JDK 版本时,默认系统语言环境报告正确,但当我使用 adoptopenjdk-11 时tar.gz ,总是报告为en_US import java.util.Locale; publi
我如何强制 automake 为非标准 C++ 后缀文件生成依赖项跟踪?特别是我的意思是生成 .deps 目录文件内容。我也在使用 libtool。 谢谢 最佳答案 看看this section in
我有一个快速解决方法的问题,以享受非标准 gnu 的好处 case ranges .例如,非标准: case 1 ... 5: 可以替换为: case 1: case 2: case 3: case
我有两个“日期”字段需要加入。 第一个是格式为 yyyy-mm-dd hh:mm:ss 的普通日期时间 第二个是红头步骤子格式的 varchar(8) mmddyyyy 现在这变得很痛苦,因为没有简单
我有一个符合以下约定的 CSV val1,val2,outerStruct1{valA,valB,innerStruct2{valX, valY},valC},... 问题是当我尝试正则表达式oute
我有数据列: id name type number 1 n1 t1 num1 2 n2 t1 num2 3 n3 t1 num3 4
我正在为 Shelly 系列设备开发 openHAB2 绑定(bind)。 http接口(interface)运行良好,但无法注册获取COAP事件。 有人有使用 Californium 框架的经验吗?
我在 UILabel 上显示商标“TM”字符时遇到了一些问题。 出现问题的“TM”字符是\U0099 而不是通常的\U2122 稍微深挖一下,发现“TM”字\U0099属于极少数的汉字。 所以我猜 i
请原谅我的无知,我是 c++ 的新手。 完整错误信息: coog.cpp(74): error C3867: 'Manager::start_foo': 非标准语法;使用“&”创建指向成员的指针 我正
我有一个可以生成如下 JSON 的 API: )]}', { //JSON DATA } //JSON DATA 是有效的 JSON,但顶部的 )]}', 不是。 当我尝试通过逻辑应用获取此数
我尝试使用 Apache Ant Get task获取我们公司另一个团队生成的 WSDL 列表。他们将它们托管在 http://....com:7925/services/ 上的 weblogic 9
我在 Google App Engine 上有一个 servlet,它从页面获取文本,将其存储为实体,然后将其发送回客户端。当我存储“You're”一词时,它会像平常一样在 GAE 本地存储中显示为“
这个问题在这里已经有了答案: Is there a way to access the underlying container of STL container adaptors? (10 个答案
我在编译这段代码时遇到了问题: void MyClass::MyMethod(Type * new_ptr) { myInternalUniquePtr_->swap(std::unique_
我有两个 Eigen::VectorXd 对象,A 和 B,具有相同的维度 n。 我想创建一个新的 vector C,这样: 如果 B[i] 是 NaN,则 C[i] = A[i] 否则:C[i] =
在 C++ 中,以这种格式向日期添加一天的最简单方法是什么: “20090629-05:57:43” 可能使用 Boost 1.36 - Boost::date、Boost::posix_date 或
我正在使用 Apache HTTPComponents 4.3 的 HttpCore 库编写一个 HTTP 服务器( java )。我的服务器必须能够接收具有非标准 HTTP 方法(GET、POST、
我是一名优秀的程序员,十分优秀!