我想在ODBC和Firebird之间建立连接。它显示了如下错误消息:
[ODBC Firebird驱动程序]无法连接到数据源;图书馆' gds32.dll'无法加载
[ODBC Firebird Driver]无效的连接字符串属性。
这是我的代码:
Dim conn As ADODB.connection
Dim vError As Variant
Dim sErrors As String
Dim stringsql As Long
Dim dbs As DAO.Database
Dim recordset_case As ADODB.Recordset
'*************************************************************
'Setting up connection between IRIS data and central database
'***********************************************************
'1.set up connection
Set conn = New ADODB.connection
On Error Resume Next
conn.Open "DRIVER=Firebird/InterBase(r) driver;
DBNAME=C:\IRIS\Data\IRIS_TEST.IB; UID=SYSDBA; PWD=masterkey;READONLY = YES"
On Error GoTo 0
'to test whether the connection has been built over the IRIS and central database
If conn.State = adStateOpen Then
'adstateopen=the object is open
MsgBox "Connection Succeeded", vbInformation
Else
For Each vError In conn.Errors
sErrors = sErrors & vError.Description & vbNewLine
Next vError
If sErrors > "" Then
MsgBox sErrors, vbExclamation
Else
MsgBox "Connection Failed", vbExclamation
End If
End If
在这个阶段,我尝试了以下几个步骤:
基于this article,我已将fdclient.dll重命名为gds32.dll并复制到system32文件。然后我在Firebird ODBC驱动程序设置中选择了Firebird客户端库 这不起作用。
Uninstall and reinstall Firebird。由于Firebird是我们软件包的一部分,我们确实遵循了这一步骤。此外,我们已经检查过Firebird是2.5.4的最新版本。因此,我们确实拥有Firebird服务器的最新版本 这也不起作用。
答案 0 :(得分:7)
在Windows 64位上,32位dll
文件位于SysWoW64
,而不是system32
(逻辑上......,包含64位dll)。
如果要安装32位gds32.dll
,我强烈建议使用Firebird安装中包含的instclient.exe
,而不是重命名fbclient.dll。对于64位Firebird,bin\
中的一个是64位,32位是wow64
或wow
(我相信,我手头没有安装Windows)。
要运行instclient.exe
,请以管理员身份启动命令提示符。
要安装fbclient.dll,请使用:
instclient i f
要安装gds32.dll,请使用:
instclient i g
确保选择正确的instclient(从bin
获取64位,或从wow
或wow64
获取32位);或者只安装两者。还要确保已为Firebird安装了32位ODBC驱动程序。
关于你的最后评论:我无法解释这一点;也许它使用不同的配置或驱动程序?