问题标签 [bde]

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 投票
8 回答
6764 浏览

delphi - TQuery中的delphi“无效使用关键字”

我正在尝试使用针对文件 Journal.db 的以下 TQuery 的结果填充 TDBGrid:

我都试过了Journal."Where"Journal.[Where]都没有用。

我也尝试过:select Journal.[Where] as "Location"结果相同。

Journal.db 是由第三方创建的文件,我无法更改字段名称。

问题是我感兴趣的领域被称为'where'并且可以理解地导致上述错误。如何在不导致 BDE(大概)爆炸的情况下引用此字段?

0 投票
2 回答
7170 浏览

oracle - ORA-01426: 执行存储过程时出现数值溢出异常

我将一个 Delphi 6 应用程序移植到 Delphi 2007,它使用 BDE 连接到一个 Oracle 9i 数据库。我得到一个

ORA-01426: 数值溢出异常

当我执行存储过程时。这是随机发生的,如果我使用相同的参数通过应用程序重新运行存储过程,则不会发生异常。

旧的 Delphi 6 应用程序工作得很好。

任何人的想法?

0 投票
3 回答
14424 浏览

performance - Delphi 中的 BDE 与 ADO

请注意下面的编辑以获取更多信息以及可能的解决方案

我们最近修改了一个大型 Delphi 应用程序以使用 ADO 连接和查询而不是 BDE 连接和查询。自那次改变以来,性能变得很糟糕。

我已经分析了应用程序,瓶颈似乎在实际调用TADOQuery.Open. 换句话说,从代码的角度来看,除了重构应用程序以减少对数据库的使用之外,我无能为力。

有人对如何提高与 ADO 连接的 Delphi 应用程序的性能有任何建议吗?我已经尝试了这里给出的两个建议,几乎没有影响。

为了了解性能差异,我对相同的大型操作进行了基准测试:

  • 在 BDE 下:11 秒

  • 在 ADO 下:73 秒

  • 该文章引用的更改后的 ADO 下:72 秒

我们在客户端-服务器环境中使用 Oracle 后端。每个本地机器都与数据库保持单独的连接。

作为记录,连接字符串如下所示:

要回答 zendar 提出的问题:

我在 Windows Vista 和 XP 上使用 Delphi 2007。

后端是一个Oracle 10g 数据库。

如连接字符串所示,我们使用的是 OraOLEDB 驱动程序。

我的基准机器上的 MDAC 版本是 6.0。

编辑:

在 BDE 下,我们有很多看起来像这样的代码:

但是我们发现Sql.Add在 ADO 下调用到实际上是非常昂贵的,因为QueryChanged每次更改CommandText. 所以用这个替换上面的内容要快得多:

更好的是,您可以复制TADOQueryADODB.pas,将其重命名为新名称,然后删除QueryChanged事件,据我所知,这根本没有做任何有用的事情。然后使用新的、修改后的 TADOQuery 版本,而不是本机版本。

0 投票
9 回答
15234 浏览

delphi - 知道如何解决 BDE 错误 $251e 吗?

情况如下:

我们程序的用户在尝试启动应用程序时突然开始收到来自 Borland 数据库引擎 (BDE) 的错误。错误消息说它无法初始化 BDE 并给出错误代码 $251e。用户使用 BDE 5.2.0.2。

我找不到关于错误 $251e 的任何官方文档。我可以在 Google 上获得的唯一有用的信息并不是很有启发性,而且那里的建议也没有什么好处。

以下是我们尝试/发现的一些事情:

  1. 以完全相同的方式访问 BDE 的其他应用程序没有任何抱怨。
  2. 错误发生在我们在 TDatabase 组件上设置 Connected := True 的行上。
  3. 重新安装 BDE 没有任何区别。
  4. 关闭除有问题的 BDE 应用程序之外的所有 BDE 应用程序没有任何区别。
  5. 从使用 MSSQL 数据库更改为 Paradox 数据库没有任何区别。
  6. 使登录用户成为工作站上管理员组的成员没有任何区别。
  7. 通常登录的用户是域用户。
  8. 以最初在机器上设置为最后的管理帐户的工作站管理员(非域)帐户登录,一切正常。
  9. 创建具有本地管理员权限的新工作站用户,问题再次出现。

用户暂时被允许使用一个实际工作的工作站管理员帐户,但这不是一个可接受的长期解决方案。知道我们可以从这里去哪里吗?关于 $251e 真正含义的任何线索?

我知道 BDE 已经过时并且不再受支持,但是现在不能选择更改 BDE 的使用。

0 投票
3 回答
12061 浏览

delphi - EDBEngineError-网络初始化失败

我正在尝试将 Dephi 2006 项目转换为 Delphi 2009(Delphi 2006 在 Drive C 上 Delphi 2009 在 Drive D 上)。

在主窗体上有一个DataSource1: TDataSource;和一个Table1: TTable;

OnFormShow表中文件名设置为:

运行应用程序时,我得到:

问题:

  1. 如何设置 PDOXUSERS.NET 的正确路径?
  2. 这是一个简单的应用程序,它将扫描的湖泊地图存储在数据库中,并在几个字段中显示有关湖泊的信息。
  3. 过去我曾经使用 BDE。用于替换 BDE 的最简单的数据库访问组件是什么?我在哪里可以了解更多信息?现在有很多用于 Delphi 2009 的数据库引擎我不知道从哪里开始。

更多信息 我在 Vista 上运行 Delphi 2009。

0 投票
6 回答
5020 浏览

delphi - 我怎么能在德尔福做到这一点?

我正在将应用程序从 BDE 转换为 ADO。

在 BDE 下,如果查询是打开的并且您调用了“Sql.Clear”,它将自动关闭数据集。

但是,在 TADOQuery 下情况并非如此,它会引发异常“无法在关闭的数据集上执行操作”。

我们的很多遗留代码都依赖于旧的 BDE 行为,所以我从代码中得到很多运行时错误,如下例所示。

我想覆盖我的 TADOCustomQuery 类的 Sql.Clear 方法,以便它包含一个“.Close”命令。我怎样才能做到这一点?

“.Clear”方法在 SQL 属性上,该属性是 TWideStrings 类型。我真正的问题是:如何在 TADOQuery 的后代上覆盖 TWideStrings.Clear 方法?

我已经有一个自定义的 TADOQuery 组件,它用于 SQL 属性:

这是一些代码来演示我遇到的问题:

0 投票
4 回答
12286 浏览

delphi - 临时表资源限制

我有两个应用程序(服务器和客户端),它们使用通过 TDCOMConnection 与 TClientDataSet 连接的 TQuery,在某些情况下,客户端数据集打开大约 300000 条记录,然后应用程序抛出异常“临时表资源限制”。

有什么解决方法可以解决这个问题吗?(除了“不要打开这么大的数据集”?)

更新:哎呀,对不起,有 300K 记录,而不是 300 万..

0 投票
2 回答
2593 浏览

delphi - ado 和 bde 的区别

ado和bde有什么区别?

0 投票
1 回答
613 浏览

bde - BDE 管理员的奇怪行为

使用我的普通用户帐户(具有本地管理员权限)登录到我的 Windows XP SP2 计算机,当我从控制面板或直接从 BDEADMIN.EXE 启动 BDE 管理员时,我从来没有得到 GUI。它显示在我的任务栏上,并显示在任务管理器中,但 GUI 从未出现。我可以通过右键单击任务栏并选择关闭来关闭程序。(注意“从不”是指不在启动程序的 5 分钟内)

如果我使用不同的用户帐户(也具有本地管理员权限)登录到同一台计算机,当我启动 BDE 管理员时,它会在几秒钟内加载 GUI。

我以前可以在以我的普通用户帐户登录时使用 BDE 管理员,所以这并不是一直存在的问题。

虽然这个问题可能与编程没有直接关系,但当我不得不注销并重新登录几次以更改我的 BDE 配置时,它确实让开发和测试变得很痛苦。

我完全被难住了。知道什么可能导致这种奇怪的行为吗?

0 投票
2 回答
1466 浏览

delphi - BDE 对 .sch 模式文件使用什么标准?

我想知道 - BDE 使用的 .sch 模式文件格式是否有标准(如 RFC)?

格式在此处此处进行了描述。它似乎基于这种微软格式,但并不完全相同。

示例 1 - VARYING 格式文件

客户.SCH:

客户.TXT:

示例 2 - FIXED 格式文件

客户.SCH:

客户.TXT:

我对“文件类型”、“分隔符”、“分隔符”和“字符集”可能的参数值特别感兴趣。我已经使用各种术语(“RFC”、“模式”、“文件类型”、“标准”等)搜索了互联网,但结果一片空白……

我特别想知道的事情:

  • .sch 文件本身可以使用哪些编码?(这与正确解释字段名和其他可配置字符有关。)
  • 我应该如何指定不可打印的分隔符和分隔符,例如像“单位分隔符”($1F)这样的 Ansi 控制字符,甚至是简单的“制表符”($09)?(考虑到格式的年龄,我认为我应该使用插入符号,但它只是想确定。)
  • 如何指定不使用分隔符?我应该指定一个空值,还是完全保留设置?

TIA

PS:注意,我没有使用 BDE 本身——我必须正确生成和读取这些模式文件。