function TAppManager.CreateConnection : IDBConnection;
begin
if not Assigned(FConnection) then
begin
if not Assigned(FLink) then
begin
FLink := TFDPhysFBDriverLink.Create(nil);
FLink.VendorHome := ExtractFileDir(FBClientDLL_Path);
FLink.VendorLib := ExtractFilename(FBClientDLL_Path);
FLink.Embedded := Embedded;
end;
if not Assigned(FDConnection) then
FDConnection := TFDConnection.Create(self);
FDConnection.DriverName := '
FB';
if Embedded then
begin
FDConnection.Params.Values['Server'] := '';
FDConnection.Params.Values['Protocol'] := 'Local';
FDConnection.Params.Values['Database'] := DBName;
end
else
begin
FDConnection.Params.Database := DBName;
if (UserName<>'') then
FDConnection.Params.UserName := UserName;
if (Passwort<>'') then
FDConnection.Params.Password := Passwort;
end;
FConnection :=
TFireDacConnectionAdapter.Create(FDConnection, 'Firebird', False);
end ;
result := FConnection;
end;
function TAppManager.CreateFullText : Boolean;
var p : String;
script : TFDScript ;
begin
CreateConnection;
result := True;
p := ExtractFilePath(ParamStr(0));
if FileExists(p + 'fts$install.sql') then
begin
script := TFDScript.Create(self);
try
script.Connection := FDConnection;
script.SQLScriptFileName := p + 'fts$install.sql';
result := script.ValidateAll and
script.ExecuteAll;
finally
script.Free;
end;
end;
end;