Delphi-PRAXiS
Seite 2 von 8     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TQuery function umstellen auf FibPlus (https://www.delphipraxis.net/137613-tquery-function-umstellen-auf-fibplus.html)

Eppos 28. Jul 2009 12:32

Re: TQuery function umstellen auf FibPlus
 
gibt es denn die Möglichkeit, aus der BDE den "SERVER NAME" (locahost:C:\Datenbanke.fdb) auszulesen?

hoika 28. Jul 2009 13:21

Re: TQuery function umstellen auf FibPlus
 
Hallo,

das geht, über die BDE ...
Also lass es gleich mal sein.

Definier dir eine Konfigurationsdatei (appname.conf),
greife auf sie lesend zu.

Server_Name = XXX


Heiko

Eppos 28. Jul 2009 16:15

Re: TQuery function umstellen auf FibPlus
 
Möchte ich zu einem späteren Zeitpunkt machen.
Solange ich aber parallel das ganze laufen lasse, möchte es auslesen aus der BDE.
Kannst du mir sagen wie ich das machen kann?

exilant 28. Jul 2009 17:06

Re: TQuery function umstellen auf FibPlus
 
Zitat:

Zitat von mkinzler
TpFibQuery ist eh nur aus Kompatibilitätsgründen zur BDE vorhanden.

Bist Du sicher? Was nimmst Du denn für irgendwelche insert/update Statements?
Obendrein ist TpFibQuery sehr leichtgewichtig und damit auch sehr schnell
beim (unidirektionalen) lesen von Datenmengen.

hoika 28. Jul 2009 17:09

Re: TQuery function umstellen auf FibPlus
 
Hallo,

Zitat:

Bist Du sicher? Was nimmst Du denn für irgendwelche insert/update Statements?
TXDataSet kann das auch.
Aber in der Tat ist die TXQuery schneller.


hier die Alias-Routine




Delphi-Quellcode:
uses
  SysUtils,

  DB, DBTables,
{ Pfad der Datenbank auf dem Server ermitteln
  der Servername selber wird NICHT übergeben }
function GetServerPath(const theAlias: String): String;
var
  AliasParams: TStringList;
  iCountParam: Integer;
  sCurParam : String;
begin
  Result:= '';

  try
    AliasParams:= TStringList.Create;

    try
      Session.GetAliasParams(theAlias, AliasParams);

      for iCountParam:=0 to AliasParams.Count-1 do
      begin
        sCurParam:= AliasParams[iCountParam];
        if Pos('SERVER NAME', sCurParam)=1 then
        begin
          Result:= Copy(sCurParam, Length('SERVER NAME')+2,
            Length(sCurParam));
        end;
      end;
    finally
      AliasParams.Free;
    end;
  except
    on E: Exception do
    begin
     {$IFDEF DEBUG}
      MBDebug(GetServerPath'+#13#10+E.message);
     {$ENDIF}
    end;
  end;
end; { GetServerPath }

Heiko

exilant 28. Jul 2009 17:19

Re: TQuery function umstellen auf FibPlus
 
Zitat:

Zitat von Eppos
Möchte ich zu einem späteren Zeitpunkt machen.
Solange ich aber parallel das ganze laufen lasse, möchte es auslesen aus der BDE.
Kannst du mir sagen wie ich das machen kann?

Mach Dir das leben nicht unnötig schwer: Erzeuge Dir eine Konfigurationsdatei mit der Du sowohl dynamisch einen BDE Alias erzeugen als auch einen Connectionstring für FibPlus aufbauen kannst. Das ist nicht schwer und macht die Anwendung leichter beherschbar. Du musst dann auf den Zielmaschienen nicht dauernd irgendwelchen Aliase anlegen.
Die BDE Alias - Konfigurationen finden sich IMO in der IDAPI32.CFG, nicht in der Registry.
Die IDAPI32.CFG ist eine Binärdatei. ob die überhaupt irgendwo dokumentiert ist weiss ich nicht.

Eppos 28. Jul 2009 17:22

Re: TQuery function umstellen auf FibPlus
 
was aber tun, wenn in TFibQuery kein Locate vorhanden ist?!? Doch TFibDatatset verwenden?

exilant 28. Jul 2009 17:25

Re: TQuery function umstellen auf FibPlus
 
Zitat:

Zitat von Eppos
was aber tun, wenn in TFibQuery kein Locate vorhanden ist?!? Doch TFibDatatset verwenden?

Ja klar. Wenn Du die Funktionen von TDataset benötigst must Du das TFibdataset verwenden. Im FibPlus Tutorial gibts jede Menge Infos dazu.

Eppos 28. Jul 2009 18:32

Re: TQuery function umstellen auf FibPlus
 
@hoika
Danke. Funktion funktioniert ;-)

@exilant
Wo finde ich das Tutorial?

hoika 28. Jul 2009 20:41

Re: TQuery function umstellen auf FibPlus
 
Hallo,

klar funktioniert die !!!
Nutze ich ja seit Jahren ;)
Ich werde die übrigens demnächst in eine DLL auslagern (BDE-Ersatz)

direkte Links zum DevGuide

devguide1
devguide2


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:16 Uhr.
Seite 2 von 8     12 34     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz