BDE和ADO DLL存储在我的系统中的位置在哪里?

BDE和ADO DLL存储在我的系统中的位置在哪里?

问题描述:

我想在Delphi中探索BDE和ADO。我在哪里可以找到BDE和ADO DLL文件,以便我可以探索所有功能都写在那里。Delphi 5和BDE已经安装在我的系统中BDE和ADO DLL存储在我的系统中的位置在哪里?

BDE:传统上,主要的BDE DLL,Idapi32.Dll被默认安装德尔福安装

C:\Program Files (x86)\Common Files\Borland Shared\BDE 

。我还没有将BDE安装到Windows的最新(Win7/Win10)版本上,但如果DLL在SysWOW64中结束,则不会感到惊讶。

ADO:您需要查看Delphi源文件ADOInt.Pas以确定您的Delphi版本使用的ADO DLL的名称。这将是在一节中的文件的顶部,看起来像这样(以下是D7,因为我没有安装D5都):

unit ADOInt; 

// ********************************************************************* // 
// Type Lib: C:\PROGRAM FILES\COMMON FILES\SYSTEM\ADO\MSADO15.DLL  // 
// IID\LCID: {00000200-0000-0010-8000-00AA006D2EA4}\0     // 
// PASTLWTR : 1.1          // 
// HelpString: Microsoft ActiveX Data Objects 2.1 Library    // 
// Version: 2.1              // 
// ********************************************************************* // 

顺便说一句,你需要MSADO15的32位版本.DLL,这我(Win10 64位)系统上位于

C:\Program Files (x86)\Common Files\System\ado 

你需要学习,看看德尔福如何使用THD BDE和ADO是

DBTables.Pas,BDE的Delphi源文件.Int和SMIntf.Pas用于BDE,ADOInt.Pas和ADODB.Pas用于ADO。

正如你将会看到的,在BDE代码中,没有与TAdoConnection完全相同的东西,这就是为什么我告诉你回答你的其他问题,你是在浪费你的时间试图通过提出一个连接类型可以用于两者。很抱歉地这样说,但事实是你不得不问这个问题,这是一个非常好的信号,表明你已经超出了你的想象力,试图想出一个“混合连接”解决方案。

+0

是的,我明白混合连接是不可能的。我现在要做的是为BDE编写一个包装类,以便它可以使用ADO连接。这是一个可行的解决方案。? –

+0

恐怕没有比试图编写“混合连接”更可行的了。 BDE根本没有TAdoConnection的功能等同物。它使用TSession对象和BDE语句处理。 – MartynA

我认为BDE的默认文件夹是 C:\ Program Files(x86)\ Common Files \ Borland Shared \ BDE 从我记得的Delphi 5安装允许您选择文件夹,因此它可能会有所不同。

因为这是一个老东西,你会有一些BDE的问题。我认为它在处理blob字段方面存在缺陷。

您是否正在查看需要BDE的遗留应用程序?

我认为ADO是一个更好的选择。 查找单元ADODB.pas和ADODb.dll

+0

是啊我正在使用一些旧版应用程序。尝试将BDE连接转换为ADO。任何Sugessions ..? –

+0

OP需要用来识别Ado DLL的单元是ADOInt.Pas,而不是ADODB.Pas。而ADBDb.Dll是**不是相关的DLL,它是DotNet的一个DLL。 – MartynA

+0

对不起,暂时还没有用过Delphi 5。我见过使用ADO和BDE的应用程序,因此您不必一次转换所有内容。这允许您只在BDE出现问题的地方最初使用ADO。 –