[英]Creating a database in Firebird using FireDac (Delphi)
我最近從 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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.