gpt4 book ai didi

delphi - 为什么编译器无法加载库名dbexpint.dll?

转载 作者:行者123 更新时间:2023-12-01 22:59:10 33 4
gpt4 key购买 nike

我是Delphi 10.2 Tokyo(试用版)的新用户,当我编译程序源代码时出现此错误消息:

无法加载 dbexpint.dll(错误代码 126)。系统路径中可能缺少它。

此代码应该访问 Firebird 数据库,我的计算机上安装了 Firebird Client 3.0。在安装文件夹中我有 DLL:

  • FBCLIENT.DLL
  • MSVCP100.DLL
  • MSVCR100.DLL

下面是部分源代码。

unit uDataModule;

interface

uses
SysUtils, Classes, DBXCommon, DB, DBClient, SimpleDS, SqlExpr, FMTBcd,
ADODB, Data.DBXInterBase, Data.DBXOracle;

...

procedure TDM.DataModuleCreate(Sender: TObject);
var
strPath: String;
begin
//Conex?o Firebird SPIRIDON
SQLSpiridonConnection.Params.Clear;
SQLSpiridonConnection.Params.Values['DatabaseServer'] := 'Interbase';
SQLSpiridonConnection.Params.Values['Database'] := 'XXXXXXXXXX:f:\dados\database\XXXXXXXXXXXX.FDB';
SQLSpiridonConnection.Params.Values['SQLDialect'] := '3';
SQLSpiridonConnection.Params.Values['DriverName'] := 'Interbase';
SQLSpiridonConnection.Params.Values['VendorLib'] := 'gds32.dll';
SQLSpiridonConnection.Params.Values['User_Name'] := 'XXXXXXXX';
SQLSpiridonConnection.Params.Values['Password'] := 'XXXXXXXX';
SQLSpiridonConnection.Params.Values['LibraryName'] := 'dbexpint.dll';
SQLSpiridonConnection.Params.Values['GetDriverFunc'] :=
'getSQLDriverINTERBASE';
SQLSpiridonConnection.Connected:= True;
  • 我尝试下载该DLL并将其放在system32和wow64文件夹中,但没有效果。

  • 我尝试将引用从库名称行更改为 dbxint.dll,但出现以下错误:

DBX 错误:驱动程序无法正确初始化。客户端库可能丢失、未正确安装、版本错误,或者系统路径中可能缺少驱动程序。

我不知道出了什么问题以及如何解决。请问你们能帮我吗?

最佳答案

dbexpint.dll是(旧)Delphi 版本的 dbExpress Interbase 驱动程序,来自 Delphi 6 to Delphi 2005 。它还可用于连接 Firebird 数据库,而较新的 Delphi 版本则为每个数据库使用单独的驱动程序。

此驱动程序与 Delphi 2006 及更高版本兼容。相反,Delphi 10.2 现在使用 dbxint.dll对于 Interbase ,和dbxfb.dll对于 Firebird .

dbxfb.dll的参数类似于 dbexpint.dll .

如果您创建新表单,请删除 TSQLConnection并选择 FBConnection作为 ConnectionName 的值属性,然后 Driver 属性将自动分配所需的值 Firebird ,以及 Params 属性也将填充合适的值:

object SQLConnection1: TSQLConnection
ConnectionName = 'FBConnection'
DriverName = 'Firebird'
Params.Strings = (
'DriverName=Firebird'
'Database=database.fdb'
'RoleName=RoleName'
'User_Name=sysdba'
'Password=masterkey'
'ServerCharSet='
'SQLDialect=3'
'ErrorResourceFile='
'LocaleCode=0000'
'BlobSize=-1'
'CommitRetain=False'
'WaitOnLocks=True'
'IsolationLevel=ReadCommitted'
'Trim Char=False')
Left = 312
Top = 172
end

注意: 正如 @DavidHeffernan 在评论中提到的,不要将 DLL 放入系统目录中。最好将其放在与 exe 文件相同的文件夹中。

关于delphi - 为什么编译器无法加载库名dbexpint.dll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49073966/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com