无法使用ODBC连接Firebird 3.0



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

我已经安装了火鸟ODBC驱动程序(Firebird_ODBC_2.0.4.155_x64),并在控制面板中通过数据源(ODBC)设置了用户DSN。我正在使用这个客户端- C:Program FilesFirebird Firebird_3_0fbclient.dll -当我点击"测试连接"时,我得到消息"连接成功"。

然后我启动了Access 2013。我假设这是64位代码,因为可执行文件在"程序文件"而不是"程序文件(x86)"中。当我尝试创建指向ODBC源的链接(现在显示为"机器数据源")时,我得到了以下消息-

ODBC呼叫失败

[ODBC火鸟驱动程序]无法连接到数据源:库' C:Program FilesFirebirdFirebird_3_0fbclient.dll '加载失败。(#-904)

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

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

在尝试中,我发现安装在我PC上的Access 2013是32位可执行文件,尽管微软将其安装在"程序文件"而不是"程序文件(x86)"中。

当我切换到32位ODBC源,使用32位ODBC管理员设置,并尝试从访问链接到它时,我得到一个消息,"[ODBC火鸟驱动程序]错误加载插件Engine12。模块C:Program FilesFirebird Firebird_3_0pluginsEngine12存在但无法加载(#-901)" .

火鸟只安装了一个Engine12.dll的副本,我假设这是一个64位的dll,所以我可以看到为什么这不起作用,但是我从这里去哪里?

尝试创建一个系统DSN而不是用户DSN。我有一个类似的问题在过去,并为我解决了它。

最新更新