AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Firebase UDF in Embedded/UDR not found
Thema durchsuchen
Ansicht
Themen-Optionen

Firebase UDF in Embedded/UDR not found

Ein Thema von hanvas · begonnen am 13. Mär 2025 · letzter Beitrag vom 13. Mär 2025
Antwort Antwort
hanvas

Registriert seit: 28. Okt 2010
171 Beiträge
 
Delphi 11 Alexandria
 
#1

Firebase UDF in Embedded/UDR not found

  Alt 13. Mär 2025, 15:19
Datenbank: Firebird • Version: 4/5 • Zugriff über: Firedac/Embedded
Hallo,

ich würde gerne die Lucene Fulltext UDF (64Bit) von IBSurgeon in einer Firebird Embedded installation verwenden. Ich bekomme immer wieder den Fehler [FireDac][Phys][FB]External UDR Engine not found.

Wenn ich Firebird "normal" also nicht embedded verwende ist alles ok. Die UDF ist aber auch embedded korrekt im plugins/udf ordner installiert. Um genau zu sein, mittlerweile sind alle notwendigen DLLs im Applikationsordner, im lokalen Firebird Ordner in Plugins und in Plugins/UDF installiert. Also daran das eine DLL nicht gefunden wird kann es eigentlich nicht liegen. Auch die "neuesten" Redistributables von MS sind sowohl für Visual Studio 2019 wie auch für 2022 installiert.

Die Connection erzeuge ich mittels (Aurelius)

Code:

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;

[1] https://firebirdsql.org/en/full-text-search-udr/
[2] https://github.com/IBSurgeon/lucene_udr

Geändert von hanvas (13. Mär 2025 um 15:34 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Firebase UDF in Embedded/UDR not found

  Alt 13. Mär 2025, 16:05
Ist die udr in der Konfig aktiviert?
Markus Kinzler
  Mit Zitat antworten Zitat
hanvas

Registriert seit: 28. Okt 2010
171 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Firebase UDF in Embedded/UDR not found

  Alt 13. Mär 2025, 16:26
Hallo,

Also daran das eine DLL nicht gefunden wird kann es eigentlich nicht liegen.
Und doch lag es daran. Zwar habe ich alle DLL-Dateien von Firebird im Laufe meiner Tests in alle möglichen Verzeichnisse kopiert, aber nicht alle Dateien aus plugins/udr, ich habe mich einfach auf die Doku verlassen das das durch entpacken in plugins/udr installiert wird. Nachdem ich jetzt auch noch alle Dateien aus plugins/udr nach plugins kopiert habe funktioniert es. So kann ich das natürlich nicht lassen. Also werde ich mich in einer frischen Installation nochmal dranmachen und dann Datei für Datei prüfen wo der Fehler ist. Das Ergebnis poste ich hier. Kann aber ein paar Tage dauern.

cu Hans Joerg
  Mit Zitat antworten Zitat
shebang

Registriert seit: 7. Feb 2020
140 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Firebase UDF in Embedded/UDR not found

  Alt 13. Mär 2025, 16:50
Also werde ich mich in einer frischen Installation nochmal dranmachen und dann Datei für Datei prüfen wo der Fehler ist.
Mach dir die Arbeit etwas leichter und verwende den ProcessMonitor, der zeigt dir genau an, welche DLLs geladen werden.
  Mit Zitat antworten Zitat
hanvas

Registriert seit: 28. Okt 2010
171 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Firebase UDF in Embedded/UDR not found

  Alt 13. Mär 2025, 22:54
Zitat:
Mach dir die Arbeit etwas leichter und verwende den ProcessMonitor, der zeigt dir genau an, welche DLLs geladen werden.
Kenn ich eigentlich schon, trotzdem neige ich öfter dazu nicht die effizienteste Methode zu verwenden, dann ist so ein Hinweis, Gold wert.

Danke an alle

cu Ha-Joe
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz