Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbank iblite erstellen (https://www.delphipraxis.net/183343-datenbank-iblite-erstellen.html)

Peter-Pascal 3. Jan 2015 17:32

Datenbank: IBLite • Version: IB3 • Zugriff über: Delphi

Datenbank iblite erstellen
 
Hallo zusammen,

ich habe einige Anfängerfragen:

Seit Stunden versuche ich eine DB basierte Anwendung mit FM (Plattform übergreifend) zu schreiben. Es scheitert daran, dass ich keine IBLite DB anlegen kann. Ich versuche es mit IBConsole, aber sobald ich darauf zugreife heißt not licensed. Ist IBLite nicht frei?

Ich möchte eine kleine Anwendung mit angeschlossener DB schreiben auf die nur eine Person/Programm zugreift. Erst mal für Windows 64, dann auch später für iPhone/iPad. Da wurde IBLite angepriesen, deswegen die Wahl. Es sind auch Haupt-/Detail-Tabellen vorgesehen.

1. Kann ich mit IBConsole überhaupt eine IBLite DB erstellen?
2. Was bedeutet embeddet? Eingebettet in was? In die Exe?
3. Mit Livebindings habe ich per TProtoTypeBindSource Felder angelegt und gefüllt. Ist das auch eine DB? Wo werden die Daten gespeichert?
4. Ist es überhaupt sinnvoll mit Livebindungs zu arbeiten oder ist FireDac oder etwas ganz anderes besser?
5. Ich hänge nicht an IBLite, wäre eine andere DB sinnvoller? Firebird oder SQLLite?
6. Wie erstelle ich eine DB mit mehreren Tabellen ohne auf SQL-Befehle zurückzugreifen?

Sorry, wenn die Fragen albern klingen, aber ich finde offen gestanden nicht durch. Lese alles Mögliche aber komme meinem Ziel kaum näher. Ich sehne mich nach Paradox zurück. Liege ich völlig falsch, wenn ich annehme die Schritte mit Paradox eine DB-Anbindung zu erstellen müßte ähnlich auch jetzt noch mit IBLite funktionieren? DB und Tabellen mit Felder anlegen und im Programm per Datensensitive Felder die Tabellen füllen.

Gruß Peter

mkinzler 3. Jan 2015 17:59

AW: Datenbank iblite erstellen
 
Zitat:

1. Kann ich mit IBConsole überhaupt eine IBLite DB erstellen?
Sollte iegnetlich gehen.
Zitat:

2. Was bedeutet embeddet? Eingebettet in was? In die Exe?
Der "Datenbank Server" befindet sich in der Client Dll und läuft im Kontext des Programmes, welches diese Dll einbindet.
Zitat:

3. Mit Livebindings habe ich per TProtoTypeBindSource Felder angelegt und gefüllt. Ist das auch eine DB? Wo werden die Daten gespeichert?
Wie der Name schon sagt, ist das nur ein Hilfsmittel um mit Testdaten zu "prototypen".
Zitat:

4. Ist es überhaupt sinnvoll mit Livebindungs zu arbeiten oder ist FireDac oder etwas ganz anderes besser?
Livebindings ist ein Mechanismus, um Controls/Daten miteinander zu verbinden, Z.B. Control mit einer Datenmenge. Dies kann FireDAC, UNIDac ADO o.ä. verwenden.
Zitat:

5. Ich hänge nicht an IBLite, wäre eine andere DB sinnvoller? Firebird oder SQLLite?
Kommt darauf an. FireBird embedded/SQLite sind Äquivalente zu IBLite ( FireBird <-> FireBird embedded, InterBase <-> IBLite, SQLite ist nur 2.)
Zitat:

6. Wie erstelle ich eine DB mit mehreren Tabellen ohne auf SQL-Befehle zurückzugreifen?
Mit einem Admintool oder Access o.ä.

Peter-Pascal 3. Jan 2015 18:04

AW: Datenbank iblite erstellen
 
Danke für die schnelle Antwort.

Ist IBConsole nicht auch ein Admintool zum erstellen von DB?

Sobald ich mit Delphi daraub zugreifen will kommt iblite nicht licensiert. Ich habe Delphi XE7 und alles gekauft. Ich weiß auch nicht, wo ich das überprüfen kann.

Wenn ich eine Verbindung mit Livebinding anlegen möchte und und FireDac zB auswählen, kommt irgendwann ein Feld das heißt Befehlstext. Was muss dadrin stehen?

Gruß Peter

mkinzler 3. Jan 2015 18:18

AW: Datenbank iblite erstellen
 
IBConsole ist eher ein Abfrageshell. Mehr ist mit IBExpert, Database Workbench (von beiden gibt es eine kostenlose etwas eigeschränkte Version, FlameRobin usw. möglich.

https://www.ibphoenix.com/download/tools/admin

Für IBlite/IBToGo gibt es zusätzlich Seriennummern. Hast Du diese eingetragen?

Zum Entwickeln würde ich aber nicht IBLite/FireBird embedded, sondern den entsprechenden Server verwenden.

Peter-Pascal 3. Jan 2015 19:33

AW: Datenbank iblite erstellen
 
ich glaube ich verstehe.

Zitat:

Zum Entwickeln würde ich aber nicht IBLite/FireBird embedded, sondern den entsprechenden Server verwenden.
Ist der Server hier Interbase? Jetzt habe ich die DB mit einer Tabelle angelegt und als Treiber IB angegeben und es funktioniert, naja fast. IB läuft als Dienst.

Das heißt also: Sobald die Anwendung fertig ist, gibt es quasi die Wahl diese DB als IB, IBToGo oder IBLite weiterzugeben. Und dazu brauche ich - auch bei der IBLite offensichtlich - eine Lizens. Wie komme ich daran?

Zitat:

Für IBlite/IBToGo gibt es zusätzlich Seriennummern. Hast Du diese eingetragen?
Das habe ich nicht gemacht.

Es läuft fast meinte ich, dass ich darauf hingewiesen wurde FDGUIxWaitCursor1 einzufügen. Jetzt läuft es. Aber was ist das? In der Hilfe steht: es steuert den Wartecursor.

Nun fehlt mir noch eins, wie bekomme ich einen PrimaryKey mit autoincrement hin?

Kann FlameRobin auch IB? Es steht bei, dass es für FireBird ist.

Schon mal vielen Dank für Deine Mühe und Geduld.

mkinzler 3. Jan 2015 19:44

AW: Datenbank iblite erstellen
 
Zitat:

Ist der Server hier Interbase?
Ja.

Zitat:

Sobald die Anwendung fertig ist, gibt es quasi die Wahl diese DB als IB, IBToGo oder IBLite weiterzugeben.
Ja, so wie ich das verstehe ja. (Bei Firebird ist es so). Wobei die Möglichkeiten, je nach "Version" verschieden sind.
http://www.embarcadero.com/products/...oduct-editions
IBToGo ist für lokalen (SingleUser-)Zugriff auf Mobilgeräten. IBlite für embedded Zugriff auf der Windowsplattform. Für den MultiUser-Zugriff von mehreren Rechnern bietet sich der Interbase-Server an (Achtung muss getrennt lizenziert werden).

Autoincrement implementiert man am Besten mit einem Trigger, welche eine Sequenz/Generator

http://edn.embarcadero.com/article/22390

cbspeda 4. Jan 2015 12:05

AW: Datenbank iblite erstellen
 
Hi

Ich würde am Gerät selber immer SQLite verwenden(als interne Datenbank). Funktioniert perfekt und ist auch schnell. Der Aufwand ist minimal
oder
Firebird mit Json Reflection (Datasnap Server -> Firebird Datenbank) Client mit Memtables (Hier auch FireDac verwenden)
oder
ClientDataSEt
oder
UNIDAC mit Zugriff direkt auf die Datenbank (mySQL oder ORACLE Firebird gibt es noch keinen Direkt Zugriff)

Ich mache es immer so. Locale Einstellungen verwende ich Sqlite. (Macht bei Android und IOS keine Probleme)
Verbindung zum Server verwende ich Datasnap mit FireDac Json Reflection. Auslesen und Speichern funktioniert prima.
Auch Blobfelder kann man ohne Probleme auslesen und speichern. :mrgreen:

Ich kann hier mal einen Code posten was ich für eine Firebird Verbindung gemacht habe


Liebe Grüsse Peter

Peter-Pascal 4. Jan 2015 12:58

AW: Datenbank iblite erstellen
 
Hallo,

ich schaue mir gerade an, was es über SQLite im Internet gibt. Da ich noch ganz am Anfang stehe, ist es mir eigentlich egal, welches DBMS ich benutze.

Du schreibst von UniDac, ist das jetzt FireDac? In FireDac gibt es einen Treiber für SQLite.

Gibt es SQLite Tutorial in Deutsch? Mein Computer-Englisch ist nicht gut.
Gibt es ein Werkzeug, mit dem ich die DB und Tabellen anlegen kann?
Gibt es bei SQ-Lite Begrenzungen in der Größe der DB?

Mich irritiert immer noch ein wenig Livebinding. Mir erscheint es als eine Art Assistent/Wizard. Ist es da auch möglich Master/Detail-Tabellen anzulegen? Oder muss ich wie bei Paradox gewohnt Dataset/DataSource/Table-Komponenten anlegen?

Danke und Gruß Peter-Pascal

cbspeda 4. Jan 2015 13:30

AW: Datenbank iblite erstellen
 
Wie viele User sollen gleichzeitig am Server arbeiten?

Firebird
Bis zu 50 User kannst du auf jedem Fall Firebird verwenden.
Habe irgendwo gehört bis 500 User. Kann ich mir aber fast nicht vorstellen.
Zugriff von mobilen Geräten nicht direkt möglich nur über einen Rest Server

SQlite
Ich verwende SQlite nur als lokalen Speicher für meine Einstellungen am mobilen Gerät aber nicht als Haupt DB

Firedac = Bei Delphi Enterprise mit im Paket
Unidac = Konkurrenz zu Firedac (Kann von mobilen Geräten direkt auf Datenbank Server zugreifen) und meiner Meinung schneller.

http://www.devart.com/unidac/

Es gibt bei Firedac genauso noch Tables oder Querys wobei ich fast nur mehr Querys verwende.

Livebinding ist meiner Meinung noch nicht ganz ausgereift. Ich hatte nur Probleme damit

Installiere aber gerade Xe7 SP1 und teste nochmal.

Liebe Grüsse

Peter

Peter-Pascal 4. Jan 2015 13:54

AW: Datenbank iblite erstellen
 
Ich habe zwei Anwendungen (Booknizer und Movienizer) die mit SQLite Version 3 arbeiten. Lokal installiert ist die DB zufriedenstellend schnell.

Hast Du einen Link wo ich SQLite für Delphi bekomme und einen Admin? Ich finde da nicht so recht durch. Den Source zum Download habe ich gefunden, will ich erstmal nicht, nur das DBMS oder reicht ein Admin-Tool zum Anlegen und der Zugang erfolgt mit FireDac.

Es heißt immer wieder Paradox ist veraltet, glaube ich auch, aber es war recht einfach ein Programm mit DB zu erstellen. Vieles scheint mir komplizierter geworden zu sein. Kann auch sein, dass ich zulange an Paradox geklebt habe und damit vieles verpasst habe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:35 Uhr.
Seite 1 von 3  1 23      

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