RADStudio连接MySQL_使用FireDac(Delphi)在Firebird中创建数据库

在将AnyDac组件替换为FireDac(8.0.5.3365)后,作者在Delphi 2006中遇到创建新数据库的问题。使用类似的方法设置连接参数并尝试打开连接时,遇到了fbe_unavailable错误。文章询问了是否需要以不同方式执行创建数据库的操作,并提供了一个Firebird脚本作为创建数据库的示例。
摘要由CSDN通过智能技术生成

我最近从AnyDac改为FireDac(8.0.5.3365).我们正在运行Delphi 2006.

当我使用此组件的AnyDac版本时,我可以通过执行以下操作来创建新数据库.

设置我的连接

fConnection.LoginPrompt := false;

fConnection.ResourceOptions.SilentMode := true;

fConnection.Params.Clear;

fConnection.Params.Add(Format('DriverID=%s', ['IB']));

fConnection.Params.Add(Format('Database=%s', [fConnectionInfo.xDatabase]));

fConnection.Params.Add(Format('CharacterSet=%s', ['UTF8']));

fConnection.Params.Add(Format('user_name=%s', [fConnectionInfo.xUserName]));

fConnection.Params.Add(Format('password=%s', [fConnectionInfo.xPassword]));

fConnection.Params.Add(Format('ExtendedMetadata=%s', ['True']));

fConnection.Params.Add(Format('CreateDatabase=%s', ['Yes']));

fConnection.Params.Add(Format('Protocol=%s', ['Local']))

//database path = C:\Users\LoginName\AppData\Local\AppName\TestDB.FDB

打开和关闭连接

fConnection.Open;

fConnection.Close;

然后我可以在现有数据库上运行我的create table sql脚本.

但是现在当我使用FireDac版本执行此操作时,Open命令会引发fbe_unavailable错误,就像我没有指定CreateDatabase参数一样.

我应该以不同的方式做这件事吗?

谢谢你的时间.

科里.

例如,以下Firebird脚本创建数据库,可以使用TFDScript执行:

SET SQL DIALECT 3;

SET NAMES UTF8;

SET CLIENTLIB 'C:\fb25\bin\fbclient.dll';

CREATE DATABASE 'E:\Test2.ib'

USER 'sysdba' PASSWORD 'masterkey'

PAGE_SIZE 16384

DEFAULT CHARACTER SET NONE;

SET TERM ^ ;

CREATE PROCEDURE MY_PROC RETURNS (aParam INTEGER) AS

BEGIN

aParam = 10;

END^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值