Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Wie erstelle ich eine Firebird DB? (https://www.delphipraxis.net/56855-wie-erstelle-ich-eine-firebird-db.html)

marabu 12. Nov 2005 19:46

Re: Wie erstelle ich eine Firebird DB?
 
Du kannst die Datenbank unter bestimmten Rahmenbedingungen einfach beim Programmstart erzeugen, wenn dein Programm sie nicht findet. Oder du triggerst die Erzeugung durch einen Kommandozeilen-Schalter. Oder du erzeugst eine Leer-Datenbank auf der Entwicklungsmaschine und installierst sie dann zusammen mit deiner Anwendung. Oder...

marabu

Ralf Kaiser 12. Nov 2005 20:00

Re: Wie erstelle ich eine Firebird DB?
 
Zitat:

Zitat von Taladan
Die Frage, die mich da am meisten beschäftigt, was muß ich später bei so umständlichen erstellen bis hin zum Zugriff alles auf den PC des Nutzers installieren, nur um ein simples Freewareprogramm nutzen zu können, was evtl eh schnell wieder von der Platte fliegt. Des weiteren frage ich mich, wie groß das wohl später alles werden soll...

Halli Hallo,

gerade bei Firebird ist das eigentlich ganz einfach: Mit "Embedded Firebird" gibt es eine spezielle Version des Datenbankservers bei dem einfach nur eine DLL (firebird.dll, bzw. umbenannt nach gds32.dll wenn z.B. IBX benutzt wird) in das Programmverzeichnis der Anwendung kopiert wird. Das wars. Keine Installation oder Konfiguration der Datenbank mehr nötig. Ich habe das bisher immer benutzt um Vorversionen oder Beta-Versionen beim User lokal zu testen ohne ein "echtes" Datenbanksetup zu bauen.

Der einzige "Nachteil" ist, daß eine Datenbank die so installiert wurde nicht mehr per Netzwerk von anderen Rechnern aus angesprochen werden kann, was aber in deinem Anwendungsfalle wohl kaum als Nachteil zu betrachten ist, oder?

Zum Erzeugen einer leeren Datenbank während der Laufzeit gab es hier schon SQL-Skripte in diesem Thread zu sehen. Diese kann das Programm beispielsweise mit der TIBSQLScript-Komponente ausführen um eine Datenbank zu erzeugen. Alternativ dazu könntest du eine leere Datenbank erzeugen, als Resource zum Programm linken und bei Bedarf einfach auf die Platte schreiben.

Ist also garnicht so schlimm wie es anfänglich aussieht! :-D

Ciao,
Ralf

Taladan 13. Nov 2005 14:41

Re: Wie erstelle ich eine Firebird DB?
 
Ich habe immer noch Probleme:

Was ich kann.
Über den Datenmanager eine Verbindung zu einer existirenden Datenbank aufbauen, wenn der Server läuft. Diese wie üblich benutzen über die .net BDE.

Doch wie nutze ich das ganze jetzt als Embetted ohne server? Geht das dann überhaupt in verbindung mit der BDE?

Die von dir erwähnte firebird.dll habe ich nicht. Ich habe eine Firebirdsql.data.Firebird.dll für .net. Diese ist als Recource eingebunden (local kopieren). (daher will mein IBX wohl auch nicht, wobei er auch die Datei aus den System32 Ordner namens gds32.dll nicht mag).
Die Kompo TIBSQLScript gibt es in .Net leider nicht. Welche ist der Pendant in .Net?

MagicAndre1981 13. Nov 2005 14:55

Re: Wie erstelle ich eine Firebird DB?
 
BDE.net :shock: was'n das? Lass den ganzen Müll weg und nutze nur den ADO.NET Provider vom FireBird.

Es gibt in der Hilfe doch C# Beispiele, die du schnell nach D.NET ( :roll: ) protieren kannst.

Taladan 13. Nov 2005 15:06

Re: Wie erstelle ich eine Firebird DB?
 
Bin per Google-Suche auf diesen link in dieses Forum gelandet... Naja so klein kann die Welt sein
http://www.delphipraxis.net/internal...ct.php?t=33732
Doch leider funktioniert mein IBX immer noch nicht. Wo bekomme ich die richtige .dll her?

Ralf Kaiser 13. Nov 2005 15:55

Re: Wie erstelle ich eine Firebird DB?
 
Zitat:

Zitat von Taladan
Über den Datenmanager eine Verbindung zu einer existirenden Datenbank aufbauen, wenn der Server läuft. Diese wie üblich benutzen über die .net BDE.

Also du musst dich schon entscheiden, BDE oder .net??

Zitat:

Zitat von Taladan
Die von dir erwähnte firebird.dll habe ich nicht. Ich habe eine Firebirdsql.data.Firebird.dll für .net.

Das ist dann die Provider DLL für .net, allerdings wirst du immer noch eine firebird.dll bzw. gds32.dll benötigen. Diese sollte mit den Firebird-Server installiert werden!


Zitat:

Zitat von Taladan
Diese ist als Recource eingebunden (local kopieren).

Die Einstellung "Copy local" bindet eine DLL nicht als Resource ein! Dann wird die betreffende DLL nur in das "bin" Verzeichnis der ASP.NET Anwendung kopiert und kann so mit dem Deployment-Manager einfacher kopiert werden!


Zitat:

Zitat von Taladan
(daher will mein IBX wohl auch nicht, wobei er auch die Datei aus den System32 Ordner namens gds32.dll nicht mag).

Welche (Datei-)Grösse hat denn die GDS32.DLL im Systemverzeichnis? Um die 400 KB sollte die DLL des normalen Firebird-Servers sein. Ist sie ca.1,4MB gross ist es die DLL des Embedded Servers und hat dort nichts zu suchen.

Zitat:

Zitat von Taladan
(daher will mein IBX wohl auch nicht, wobei er auch die Datei aus den System32 Ordner namens gds32.dll nicht mag).

Nochmal: willst du jetzt mit IBX (also Win32) der .net auf die Datenbank zugreifen??? Ich bin etwas verwirrt... :?:

Ciao,
Ralf

MagicAndre1981 13. Nov 2005 16:06

Re: Wie erstelle ich eine Firebird DB?
 
Zitat:

Zitat von Alfi001

Nochmal: willst du jetzt mit IBX (also Win32) der .net auf die Datenbank zugreifen??? Ich bin etwas verwirrt... :?:

So richtig weiß ichs auch nicht, aber ich glaube er will mit D.NET auf eine FB-DB zugreifen :gruebel:

Taladan 13. Nov 2005 20:39

Re: Wie erstelle ich eine Firebird DB?
 
Was letztendlich rauskommt ist doch eine Datenbank in ein und den selben Format oder?

Ob ich nun diese über Win32, IBX, .net oder sonnst was angelegt habe.

Was ich will ist natürlich MEIN Programm in D.Net schreiben. Diese mit einen embetted Server. Doch was ich als gut erachtete, neben Delphi und mein eigenes Programm, die datei über ein freies Tool betrachten zu können (IBX).
So kann man ja Access Dateien auch per .Net oder Win32 ansteuern. Ändert ja letzlich nichts an der Datei. Ob diese nun per SQL, BDE oder Access selbst erstellt worden ist, ist ebenfalls egal.

Das problem mit dem embetted Server hab ich (fast) gelöst. Nu will ich aber IBX erstellen. Im IBX Server Verzeichnis habe ich nicht viele Dateien.

In Punkto .dll sind es fbclient.dll, ib_util.dll, msvcp60.dll und msvcrt.dll.

Meine GDS32.dll ist 416kb groß, also wohl die verkehrte... Nu stehe ich aber vor einen Problem. Die Richtige hab ich nicht, wo bekomme ich die her?

Taladan 13. Nov 2005 21:59

Re: Wie erstelle ich eine Firebird DB?
 
Ich habe nun lange mit IBX rumprobiert und eine .dll funktionert. Diese nennt sich fbclient.dll.

Nu läuft mein IBX endlich :bounce1:

MagicAndre1981 13. Nov 2005 22:04

Re: Wie erstelle ich eine Firebird DB?
 
Zitat:

Zitat von Taladan
Ich habe nun lange mit IBX rumprobiert und eine .dll funktionert. Diese nennt sich fbclient.dll.

Das ist ja die Client-Library des FB :roll: Also willst du nun doch ein Win32-Proggie schreiben und kein schönes .NET-Programm?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 Uhr.
Seite 2 von 3     12 3      

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-2025 by Thomas Breitkreuz