此查询的背景为this question。
我为Firebird安装了this driver并将其放在IDE使用的路径(system32)中。 XE Data Explorer识别驱动程序,并且可以使用Data Explorer创建连接。尝试通过此连接查看表或任何其他数据库元素会导致this question中描述的错误。据我所知,@ Alejandro Jourdan尚未获得此问题的解决方案,我在Firebird或Delphi XE的任何支持网站上都找不到解决方案。
当我使用此连接创建TSQLConnection时出现第二个问题。连接工作的程度是它为数据库生成登录提示,但是当它尝试打开连接时,我收到错误消息:'文件不是有效的数据库'这个错误消息是(有点)可以从Data Explorer出现以下错误:
文件[数据库路径]的“CreateFile(open)”操作期间的I / O错误尝试打开文件时出错。访问被拒绝..
数据库有效,可以从Firebird命令行实用程序和数据库浏览器打开。
环境:
Machine: Lenovo Thinkpad W510
OS: Windows 7 Ultimate 64bit
Delphi: Embarcadero® RAD Studio XE Professional Version 15.0.3953.35171
Database: W1-V2.5.0.26074 Firebird 2.5 (64 bit)
还安装:
Embarcado Borland® Developer Studio 2006 Enterprise Version 10.0.2288.42451 Update 2 (XP Version)
Borland Delphi Version 7 (XP Version)
修改
请参阅下面的答案。此编辑删除了广泛的细节,根据答案证明是不必要的,同时保留问题的核心以及其中包含的链接。
答案 0 :(得分:3)
对我而言,第一件事就是你使用的是64位版本的Firebird,并且你提到它配备了32位和64位驱动程序。 DLL的名称是否相同?如果是这样,我怀疑IDE / OS正试图在32位应用程序中加载64位版本的DLL,这是不可能的(32位应用程序无法加载64位驱动程序,副亦然)。
尝试以下两种方法之一:
首先,如果DLL具有相同的名称,请临时重命名64位版本,然后重新启动IDE。然后再试一次。
尝试安装32位版本的Firebird,即使您运行的是64位操作系统。
答案 1 :(得分:0)
我的基本问题(第一部分)是:
我想安装Firebird数据库 司机,并让它可用 在Delphi XE IDE中。我想要 数据库驱动程序可用于 与其他提供的数据库相同的基础 驱动程序(例如Interbase,SQL - 来自 在IDE中的数据资源管理器中)。 我已经获得了合适的司机。
经过大量调查后,我发现无法实现与我试图实现的Delphi IDE的集成。这是因为Data Explorer是一个.NET应用程序,可用的DBExpress驱动程序(here和here)与.NET不兼容。我知道我可以通过在IDE中以及在我正在开发的应用程序中编程来适当地设置参数来使用驱动程序。
我已经起草了这个答案,以帮助其他人避免这个特别的死胡同。我也在编辑第二部分的问题,以便删除很多细节,根据这个答案证明这是不必要的。