ODBC Firebird驱动程序无法连接到数据源;库' gds32.dll'无法加载

时间:2015-05-06 01:53:39

标签: odbc firebird2.5

我想在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

在这个阶段,我尝试了以下几个步骤:

  1. 基于this article,我已将fdclient.dll重命名为gds32.dll并复制到system32文件。然后我在Firebird ODBC驱动程序设置中选择了Firebird客户端库 这不起作用。

  2. Uninstall and reinstall Firebird。由于Firebird是我们软件包的一部分,我们确实遵循了这一步骤。此外,我们已经检查过Firebird是2.5.4的最新版本。因此,我们确实拥有Firebird服务器的最新版本 这也不起作用。

1 个答案:

答案 0 :(得分:7)

在Windows 64位上,32位dll文件位于SysWoW64,而不是system32(逻辑上......,包含64位dll)。

如果要安装32位gds32.dll,我强烈建议使用Firebird安装中包含的instclient.exe,而不是重命名fbclient.dll。对于64位Firebird,bin\中的一个是64位,32位是wow64wow(我相信,我手头没有安装Windows)。

要运行instclient.exe,请以管理员身份启动命令提示符。

要安装fbclient.dll,请使用:

instclient i f

要安装gds32.dll,请使用:

instclient i g

确保选择正确的instclient(从bin获取64位,或从wowwow64获取32位);或者只安装两者。还要确保已为Firebird安装了32位ODBC驱动程序。

关于你的最后评论:我无法解释这一点;也许它使用不同的配置或驱动程序?