问题标签 [dbase]

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 投票
1 回答
2277 浏览

usb - 启用 dBASE III 程序以在 USB 打印机上打印

我有一个朋友有一个古老的 dBase III 程序。他说连接到 USB 并行端口打印机时无法打印,并且正在考虑将程序转换为 MS-Access。但是,有大约 400 个表格和报告,所以我想知道是否还有其他更具成本效益的方法来解决这个问题。

0 投票
3 回答
4627 浏览

php - 打开.dbf文件时出现php dbase错误

我正在尝试使用 php5.3 中的 dbase 库来打开一个 .dbf 文件。我已经在我的 php5 构建中安装并激活了 dbase.so 库,我正在执行以下代码:

其中 CMX.dbf 是一个 Visual FoxPro9 数据表,与启用了读/写/执行权限的执行脚本位于同一目录中。

以下是来自/var/log/apache2/error.log:

第 28 行

由于此错误/警告的描述性不是很强,因此我在追踪根本原因时遇到了问题。有人能帮忙吗?

0 投票
2 回答
3288 浏览

c# - 为什么我无法访问我的 ODBC dBase 表?

我继承了一些 C# 代码。它处理旧的 dBase 文件。至少 3-5 年没有人接触过代码,编译后的版本可以在某个地方工作,但我无权访问它。现在我通过在应该运行的相同外观环境(相同的架构,足够的驱动程序)上从源代码重新编译它来尝试它的工作原理,它给了我以下错误:

编辑)在第二行

编辑)与连接字符串

我尝试了在 Google 上找到的显而易见的解决方案,例如确定文件是否确实存在、更改文件名等。所以,我很确定文件在它应该在的位置,我很确定该文件没有损坏(我可以使用从互联网上下载的一些共享软件打开它,更不用说该文件在过去 3-5 年内也没有更改)。这是我第一次使用 dBase 和 ODBC,所以我可能会错过一些应该很明显的东西。

我还能尝试什么让它发挥作用?

0 投票
2 回答
1144 浏览

ruby-on-rails - 如何在rails中迁移dbase数据库

如何在https://github.com/infused/dbf/中使用 rake 。我尝试在database.yml中编写这样的文本:

但它说,没有找到适配器activerecord-dbf-adapter
我只需要阅读 dbf 文件。
PS。我不能使用 JDBC 适配器。

更新
我想在支持 ActiveRecord 的 Rails 中使用 dbf 数据库,例如另一个数据库(例如 mysql)

0 投票
1 回答
9531 浏览

php - PHP, odbc & vfp

我正在尝试用 php 连接一个 dbf 数据库。我尝试了几种不同的方法,但没有运气。

PHP:5.3.8 文件:C:\xampp\htdocs\work\vcabdoc.dbf

第一种方式:

创建数据源 dbvfp,驱动程序 C:\Windows\system32\vfpodbc.dll

用过的$odbc = odbc_connect ('dbvfp', '', '') or die('Could Not Connect to ODBC Database!');

第二种方式:

第三种方式:

在这种情况下,尝试使用和不使用双斜杠 (\)。

有什么帮助吗?提前致谢。

问候,

若昂

0 投票
0 回答
1924 浏览

php - 如何加快 odbc dBase 查询?

我正在使用 odbc 从 php 连接到 dBase .dbf 文件(由另一个应用程序生成):

考虑到:

  • 03BOTESD.DBF 是一个 19mb 的文件;
  • 03BORIGD.DBF 是一个 4mb 的文件;

查询执行真的很慢......一些例子:

查看这些示例很明显,文件越大,查询越慢。奇怪的是,当查询指定更多参数(导致选择较少行的结果)时,执行速度较慢。

有没有办法以某种方式加快速度?

我用谷歌搜索了很多,但没有找到真正的解决方案:

  • 尝试将 SQL_CUR_USE_ODBC 参数添加到连接字符串中
  • 尝试将“Exclusive=yes”设置为 dns odbc 参数
0 投票
1 回答
5798 浏览

delphi - 为什么设置表的 RecNo 属性不会移动到该记录?

我有一个使用 BDE 访问 DBase 表的 TTable 组件。表上没有索引,所以排序顺序是表中记录的物理顺序。如果我读取 RecNo 属性,它包含当前记录的预期数字。

我的印象是,使用这个星座(BDE + DBase)也可以设置 RecNo 属性以移动到相应的记录。但显然这在我的程序中不起作用。

所以:我记错了吗?或者我需要做些什么特别的事情才能让它工作?

(请不要建议放弃 BDE。我知道它的问题,我们已经在迁移它了。)

0 投票
1 回答
587 浏览

database - 什么是 DBase?如何在Win98操作系统中使用DBase?

什么是 DBase?如何在Windows 98中使用 DBase ?如何安装DBase

0 投票
1 回答
2180 浏览

delphi - 请问如何使用 Delphi ADO 组件创建 D-Base IV 表?

我正在开发用于将批处理结果记录到文件夹中单个 DBase 4 (*.dbf) 磁盘文件的仪器的软件。为了准备添加新的日志分析功能,计划使用这些 DBF 文件中的多个,我正在更改现有的简单 BDE TTable 和 CreateTable,它们分别重新打开并创建一个新的 DBF 文件,以使用 Delphi ADO 组件。

在这里使用其他建议,我已经成功创建了一个测试应用程序,该应用程序使用以下核心代码使用 TAdoDataSet 和 TAdoConnection 打开现有 DBF 文件:

这很好用,但在第一次使用我的 DBF 之前,我还需要创建一个空的 DBF 文件来准备添加我的日志记录。我可以通过每次打开一个现有的“空”DBF 文件来做到这一点,但我希望有一个 SQL?如果我已经创建并定义了我的字段(这对我来说很容易),那么创建我的文件的方法。我用 TAdoTable 尝试了这个,我可以在其中创建所需的字段,但我找不到任何示例说明如何在没有任何内容的情况下将此表结构放到磁盘上,主要是因为 ADO 示例太多但几乎总是在现有的数据表。

任何人都可以帮我使用 ADO 组件创建一个包含几个字段的示例 DFB 表文件吗?我确信我可以在此基础上再接再厉。

非常感谢。

0 投票
1 回答
1626 浏览

dbase - 如何从 ACT 读取非标准 DBF 备忘录 (BLOB) 文件?

我正在尝试将数据从 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( _=space) 的值转换为$2f4244十六进制,而十六进制又转换为 的整数值3097156,但与 blob 文件中数据的任何相关部分都不对应,即使乘以或除以 64 时也是如此。