问题标签 [btrieve]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
99 浏览

btrieve - Btrieve 记录锁定问题

我遇到了一个文件争用问题,我认为这与用户负载增加有关。

我的系统规格:

  • VB.net UI/NetCOBOL
  • 业务逻辑/Btrieve
  • 使用 Pervasive DB 访问文件。

我看到尝试处理具有相同项目 ID 的销售订单的用户之间的记录锁定,即使每个单独的销售订单项目流程都包装在事务对象中并且父销售订单记录被显式锁定,因为它应该是。

我可以跟踪几年前/发布的这种情况,但它最近才成为一个问题,因为我认为随着多用户负载的增加而增加了活动。

文件访问方法纯粹是悲观的,文件结构本质上是 ISAM,而不是关系。请问有人有什么见解吗?

0 投票
0 回答
186 浏览

pervasive - 如何访问 *.xq4 和 *.xq5 后缀文件?

对于一个项目,我需要访问程序存储的数据。软件将数据分别写入 *.xq4 文件和 *.xq5 文件。我想访问或从文件中提取数据。我应该使用什么工具来打开这些文件类型?

0 投票
1 回答
1061 浏览

java - 从 Java 访问 Pervasive/Btrieve DB(DDF + DAT 文件)

我有一个包含 *.DDF 和 *.DAT 文件的文件夹,它们是一个普遍/btrieve 数据库。我可以使用 DDF Periscope (ddf-periscope.com) 打开并查看数据库的内容。

我可以使用 ddf 潜望镜从每个表中单独导出数据,我想使用 Java 做同样的事情。访问数据库中的数据并将它们导出到 CSV 文件、POJO 或任何我可以操作数据的方式。

这可能吗?

0 投票
1 回答
690 浏览

btrieve - 如何从 btrieve 文件中提取数据?

我有 .btr 文件,我需要从这些文件中提取数据。我没有定义文件。哪个工具可以帮助我提取数据?

0 投票
1 回答
262 浏览

pervasive-sql - 我有旧的 .DTA 文件和 .DDF 文件……现在怎么办?

第一次在这里发帖,所以要温柔...我完全被困住了,我被赋予了将一些旧的 .DTA 文件导入 SSMS 表中的任务,以便我们可以对它们进行查询。作为 .dta 格式的新手,我进行了一些挖掘,这是迄今为止我能够收集到的信息:

  • .DTA 文件是由 Btrieve 软件生成的数据文件,然后 Btrieve 将名称更改为 PervasiveSQL,现在归 Actian 所有
  • .DTA 文件具有随附的系统目录 DDF 文件(数据定义文件)
  • 根据这篇文章https://www.tek-tips.com/viewthread.cfm?qid=364542我应该能够下载 PervasiveSQL 演示以便能够探索这些 DTA 文件,但现在我被带到 Actian 网站时我点击提供的链接。
  • 我们无法再访问前端软件

当我访问 Actian 网站时,它要求我输入用户名和密码才能下载任何试用软件。
在我注册任何东西之前,我想与各位聪明人联系一下,看看您是否知道从这些遗留 .DTA 文件中提取数据的任何替代方法,以便我能够将其填充到 SQL 表中。顺便说一句,我已经尝试了所有显而易见的方法;在记事本、excel、访问中探索,使用 SSMS 中的任何/所有驱动程序来导入数据/openrowset,甚至尝试为 Btrieve 使用 ODBC 驱动程序,但这些都没有给我任何成功。
如果有明显的我遗漏的东西,或者如果有人使用 Actian 软件取得了任何成功,我会喜欢它。

提前致谢!

0 投票
1 回答
195 浏览

rust - ACCESS_VIOLATION 从 Rust 调用 Btrieve BTRCALL 函数

我试图从 Rust 调用 Btrieve(一个非常古老的数据库引擎)。这有点长,但这是我第一次从 Rust 尝试 FFI,我想描述我所做的一切。

Btrieve 引擎在 DLL w3btrv7.dll 中实现,它是一个 32 位 DLL。我使用 32 位 MSVC 工具为它创建了一个导入库(官方没有提供):

然后我安装了 32 位 Rust 工具链stable-i686-pc-windows-msvc 并将其设置为我的默认值。Bindgen barfs 在官方 Btrieve 标题上,所以我必须自己制作。幸运的是,我们只需要包装一个函数, BTRCALL.

我的 wrapper.h 中有这个:

我链接为:

这似乎可行:程序运行,是一个 32 位 exe,我可以在 Process Explorer 中看到它已加载w3btrv7.dll.

当我通过 bindgen 发送标头时,我得到:

类型和大小似乎都正确计算,并且它们与我从 C# 应用程序中获得的 DllImport 完美匹配:

略有不同,但我在keyNumber有符号和无符号变体中都尝试了字节和短裤,但它仍然不起作用。

不幸的是,当我运行我的程序时,它在第一次调用 BTRCALL 后就崩溃了。(嗯,实际上是当这个调用所在的函数返回时)。我已经将所有参数提取到局部变量中并检查了它们的类型,并且看起来都是正确的:

它使程序崩溃

根据我的阅读,这可能是由于地址访问不正确造成的。

实际上,当我进行一些跟踪以检查变量时,会出现一些非常有趣的行为,因为按值传递的局部变量似乎被覆盖了。这里的日志只是转储缓冲区的前 30 个字节,因为其余的只是零:

除其他外,通知pos_block_ptr已设置为 0。相反,从 C# 代码中成功执行完全相同的调用只是将一些数据写入前 18 个字节,pos_block 而不会更改任何其他变量。

就好像它有点发疯了,刚刚开始覆盖记忆......

在这一点上,我不知道下一步该尝试什么。

0 投票
1 回答
129 浏览

pervasive - Btrieve 文件只显示部分数据

几乎准备好扔白旗了,但我想我会把它扔出去。我有一个 1994 年的旧程序,它使用 btrieve dB 并呈现健身房的基本会员信息。保存数据的 btr 文件将在记事本中打开,尽管格式几乎不可读,但我可以搜索和查找所有记录。当它在程序中打开时,会丢失大量记录。滚动时,它似乎会在特定记录上停止。

我对 btrieve 几乎一无所知,因为它比我的 IT 职业早了很多年,老实说,我从未见过它。任何关于我应该在哪里进行故障排除或可能有帮助的工具的建议将不胜感激。

0 投票
1 回答
278 浏览

btrieve - 如何打开从 Btrieve 6.15 创建的加密 .dat 文件

我们在打开多年前创建的 .dat 文件时遇到问题。如何打开从 Btrieve 6.15 创建的加密 .dat 文件?