Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird embedded (https://www.delphipraxis.net/20859-firebird-embedded.html)

Ghostwalker 24. Apr 2004 14:39


Firebird embedded
 
Hi,

also..hab mir grad die embedded-Version von Firebird runtergeladen. Soweit so gut..leider konnte ich nirgends eine Doku finden, wie ich das ganze nun vom Programm aus (Delphi 7) ansprechen muß. Eine API-Doku ist nirgends zu finden. Im Programm selbst möchte ich nicht mit den IBX-Komponenten arbeiten sondern (wenn überhaupt möglich), das ganze nativ handeln. Kann mir da jemand helfen ?

Ghostwalker 25. Apr 2004 10:35

Re: Firebird embedded
 
Keiner nen Ansatzpunkt ???

theomega 25. Apr 2004 10:55

Re: Firebird embedded
 
würde mich auch mal interessieren!

theomega 25. Apr 2004 11:45

Re: Firebird embedded
 
habe es gerade durch zufall hinbekommen, allerdings waren bei mir die testbedingungen auch vereinfacht.
Ich habe das ganze mit den Interbase-Kompos von Delphi 7 gemacht. Zieht einfach TIBDatabase, eine TIBQuery und eine TIBTransaction aufs Form. Dann die 3 richtig verbinden, also die richtigen Eingeschaften aufeinander setzten. Dann müßen "databasename" und "params" von dem TIBQuery richtig gesetzt werden. Wenn man jetzt die Anwedung startet bekommt man als Fehler, dass eine DLL fehlt "gds32.dll". Jetz zieht man sich von der Firebird Website das Embedded Package und entpackt folgende Dateien in das Verzeichniss wo sich die EXE befindet:
firebird.msg
fbebemed.dll
intl/fbintl.dll

dann benennt bennent ihr die fbebemed.dll in gds32.dll um.
Jetzt die Anwendung starten und wenn auf DelphiSeite alles richtig läuft sollte es funzen.

Lemmy 26. Apr 2004 07:07

Re: Firebird embedded
 
Hi,

es gibt beim Ansprechen der embedded Version keinen Unterschied zum richtigen Server. Beide können mit den herkömmlichen Komponenten(IBX, FIBPlus, IBObjects, UIB) angesprochen werden. Es gibt keinen UNteschied in der API.
ALLERDINGS: Bei der embedded Version kann nur ein Prozess auf die Datenbank zugreifen.

Grüße
Lemmy

Ghostwalker 26. Apr 2004 13:55

Re: Firebird embedded
 
Tja..oder per API direkt

Code:
Procedure CreateDB
var
  fdbname : STRING;
  params : STRING;
  SQLDialect: Integer;
  tr_handle : TISC_TR_HANDLE;
  fhandle : TISC_DB_HANDLE;
  st : PISC_STATUS;
begin
  FDBNAME := 'h:\firebird\test2\test.fdb';
  Params := 'USER "SYSDBA" PASSWORD "masterkey" PAGE_SIZE 4096';
  SQLDialect := 3;
  st := NIL;
  tr_handle := 0;
  fhandle := 0;
  isc_dsql_execute_immediate(st, @FHandle, @tr_handle, 0,
                               PChar('CREATE DATABASE ''' + FDBName + ''' ' + {do not localize}
                               Params), SQLDialect, nil);
end;

theomega 26. Apr 2004 14:01

Re: Firebird embedded
 
interessant, aber woher stammt isc_dsql_execute_immediate ?

Ghostwalker 26. Apr 2004 14:07

Re: Firebird embedded
 
Es gibt auf ibphoenix.com eine Unit-Sammlung die als Wrapper für die DLL dient. Da steht diese Funktion drinn :).


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr.

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