我不能从中访问任何数据库。我所说的访问数据库的意思是:
具有活动数据库的
将连接属性设置为真正的
编辑:
排序了!!
核心问题是数据库中的通信,特别是IDE生成的通信以及使用驱动程序构建的任何代码都是有问题的。
混淆和掩盖子问题是:
数据资源管理器不完全支持drivers.
结束编辑:
尝试了以下方法:
通过其他外部工具(如IBSQL和Flame databases
提供支持论坛的问题。
环境:
64bit:
发布于 2011-04-28 22:06:26
现在我可以编写代码来访问IDE中的Firebird了。我对IDE中的驱动程序有(有限的,但足够的)访问权限。具体来说,驱动程序出现在dbExpress中,它可以用于为SQLConnection (dbExpress组件)生成默认值。它们可以在对象检查器中访问和使用。下面引用的IDE错误的解决方案对于确保通信参数正确是必要的。在编写数据库代码时,必须在源代码中为dbExpress驱动程序编译。
以下代码是建立和测试数据库连接所需的最小参数集:
unit Unit2;
interface
uses Classes, SqlExpr, Dialogs, dbxDevartInterbase;
var SQLConnection1 : TSQLConnection;
implementation
{$R *.dfm}
begin
SQLConnection1 := TSQLConnection.Create(nil);
with SQLConnection1 do
begin
ConnectionName := 'TestConnection';
DriverName := 'DevartInterBase';
LibraryName := 'dbexpida40.dll';
VendorLib := 'fbclient.dll';
GetDriverFunc := 'getSQLDriverInterBase';
Params.Clear;
Params.Add('User_Name=SYSDBA');
Params.Add('Password=masterkey');
Params.Add('Database=localhost:C:\Program Files\Firebird\Firebird_2_5\examples\empbuild\employee.fdb');
Open;
If Connected then ShowMessage('Connection is active');
Free;
end;
end.Bob Swart在Codegear论坛上提供的解决方案是:
的诀窍是选择一个ConnectionName值,然后将一个值分配给Driver属性和所有其他属性,如LibraryName、VendorLib和GetDriverFunc。
然后,如果需要,对Driver属性的子属性进行更改,最后清除Driver属性的名称。
这将在Params列表中留下您的所有更改(如果您愿意,也可以手动编辑)。
注意:保留ConnectionName设置--如果清除该设置,参数将再次清除。
现在您可以编译应用程序并部署它,而不需要dbxdrivers.exe或dbxconnections.ini (当然,您需要部署LibraryName和VendorLib中指定的DLL)。
还要确保将LoginPrompt设置为False,并将LoadParamsOnConnect设置为False。
发布于 2011-04-26 13:34:43
不支持随Delphi附带的本地dbExpress驱动程序的Firebird。为了让本地firebird dbExpress驱动程序工作,您需要Delphi的企业或架构师版本。
我有德尔菲2010专业。我不想花额外的钱在E或A版本,我没有阅读功能矩阵,以看到火鸟dbExpress驱动程序是不可用的专业版。
我发现了一些非常好的视频,这些视频展示了如何使用Delphi连接到Firebird。然而,当我试图跟随我的教授版本时,没有什么效果。
为我感到羞耻,对Embarcadero更丢脸,因为它吹嘘Delphi支持大字体的Firebird,但没有提到您需要企业版或架构师版本,只有微小的细微之处除外。
发布于 2011-04-23 19:19:30
悬赏奖
我已经授予了这个答案的赏金,因为它使我不去调查IDE、它的安装和配置,而是对数据库中的连接进行调查。
端
DK关于火鸟64位- -no的经验.但是我在dbExpress上一直有很多麻烦。包含的IB组件套件没有任何问题。但对IB版本有很多混淆..。
但是,海事组织最好使用ADO ('DBGo')组件,而不是任何专有的IB或Delphi特定驱动程序。您需要的是IB的ADO提供程序,可用@:
http://www.ibprovider.com/eng/ --正如其他人所说,避免使用本地主机,使用127.0.0.1,或者更好的是,确定工作站的真实IP地址(ping机器名称.)您确定您没有可能涉及到某种防火墙或入侵保护吗?
您还需要确保您的IB连接配置正确-本地或TCP,不,不要对您的名称、pwrds等使用引号。您收到的错误消息似乎表明您试图通过TCP进行连接,但配置不正确。它起作用的时间和不起作用的时间之间发生了什么?关闭德尔福?重新启动机器?请解释一下..。
不需要“特殊权限”--您只需确保数据库服务器和客户端安装和配置正确。在功能方面,您可以对专业版做任何事情-只是驱动程序等不包括在包中。
再一次,国际海事组织追求ADO,你将永远不会回头。
HTH,MNG
https://stackoverflow.com/questions/5765424
复制相似问题