gpt4 book ai didi

delphi - 使用 FireDac (Delphi) 在 Firebird 中创建数据库

转载 作者:行者123 更新时间:2023-12-03 15:32:50 30 4
gpt4 key购买 nike

我最近从 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;

然后我可以在现有数据库上运行创建表 sql 脚本。

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

我应该采用不同的方式吗?

感谢您的宝贵时间。

科里。

最佳答案

这里有一个完整的示例 http://docwiki.embarcadero.com/RADStudio/Rio/en/Executing_SQL_Scripts_%28FireDAC%29

例如,以下 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^

您应该使用 CreateDatabase=Yes 连接定义参数除其他所需参数外: http://docwiki.embarcadero.com/RADStudio/Rio/en/Connect_to_Firebird_(FireDAC)

关于delphi - 使用 FireDac (Delphi) 在 Firebird 中创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21312811/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com