无法使用ODBC连接到Firebird 3.0

时间:2016-08-24 12:21:01

标签: windows odbc firebird firebird-3.0

我在Windows 7(64位)下安装了Firebird 3.0(Firebird-3.0.0.32483_2_x64)。我使用ISQL创建了一个Firebird数据库,并希望从Microsoft Access数据库中将数据复制到它。

我已安装Firebird ODBC驱动程序(Firebird_ODBC_2.0.4.155_x64)并在“控制面板”中通过数据源(ODBC)设置用户DSN。我正在使用这个客户端 - C:\ Program Files \ Firebird \ Firebird_3_0 \ fbclient.dll - 当我点击“测试连接”时,我收到消息“连接成功”。

然后我启动了Access 2013.我认为这是64位代码,因为可执行文件位于“程序文件”而不是“程序文件(x86)”中。当我尝试创建一个指向ODBC源的链接(现在显示为“机器数据源”)时,我收到此消息 -

ODBC调用失败

[ODBC Firebird驱动程序]无法连接到数据源:库'C:\ Program Files \ Firebird \ Firebird_3_0 \ fbclient.dll'无法加载。(# - 904)

有人可以帮忙吗?我在线的所有研究表明,当64位程序与32位驱动程序一起使用时会出现问题,反之亦然,但我认为我所做的一切都应该在64位领域。我还读到904可以指示“不可用的数据库”,但我可以打开ISQL并在当时成功访问数据库。

对道尔顿建议的回应 - 我在控制面板中创建了一个系统DSN。如果我打开Access并查看ODBC数据源,它就不存在了。这看起来是微软网站上的一个已知问题。

在尝试此操作时,我发现我的PC上安装的Access 2013是32位可执行文件,即使Microsoft将其安装在“程序文件”而不是“程序文件(x86)”中。

当我切换到32位ODBC源时,使用32位ODBC管理员进行设置,并尝试从Access链接到它我得到一条消息,“[ODBC Firebird Driver]错误加载插件Engine12。模块C:\ Program Files \ Firebird \ Firebird_3_0 \ plugins \ Engine12存在但无法加载(#-901)“。

Firebird只安装了一个Engine12.dll副本,我认为这是一个64位的dll,所以我可以看到为什么这不起作用,但我从哪里开始呢?

1 个答案:

答案 0 :(得分:0)

尝试创建系统DSN而不是用户DSN。我过去曾遇到过类似的问题,并为我解决了这个问题。