Autor |
Beitrag |
Magic2001
      
Beiträge: 32
Delphi XE2
|
Verfasst: Mo 15.04.13 08:36
Muss ich um SQL Datenbanken zu erstellen unbedingt ein Server installiert haben? Wenn andere mein Programm nutzen, müssen die dann ein Server installiert haben?
Ist es möglich einfach nur eine lokale DB mit SQL zu verwirklichen ohne Server installiert zu haben? Wenn ja, was benötige ich dazu?
Die DBs sind nur einfache für den Heimgebrauch (Cd Verwaltung oder ähnliches)!
|
|
WasWeißDennIch
      
Beiträge: 653
Erhaltene Danke: 160
|
Verfasst: Mo 15.04.13 09:25
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Di 16.04.13 02:33
So kann man das da aber wirklich nicht im Raum stehen lassen ! Zumindest nicht als Antwort. Was ist Ja oder Nein für eine Antwort ? Da kann man zitieren, soviel man will : keine. Dasselbe gilt für Rumschmeisssen von Kürzeln.
Sieht so aus, als ob da lediglich ein Programm gemacht werden soll, wo etwas in einer Datenbank hinterlegt ist. Also das Übliche. Weitergeben an Freunde ohne viel Aufwand (z.B. Server-Installation). Da braucht man keine Stichworte wie (SQLite "kenne ich aber nicht", "mangels Erfahrungen")...
Ich empfehle : Firebird embedded. Aber nur zum Ausliefern der EXE !!
_________________ Gruß
Hansa
|
|
WasWeißDennIch
      
Beiträge: 653
Erhaltene Danke: 160
|
Verfasst: Di 16.04.13 08:05
Wenn Du mir jetzt noch den Mehrwert Deiner Antwort gegenüber meiner nennen würdest. 
Für diesen Beitrag haben gedankt: F34r0fTh3D4rk, FinnO, Martok, MaxWurzel
|
|
Blup
      
Beiträge: 174
Erhaltene Danke: 43
|
Verfasst: Di 16.04.13 10:28
Magic2001 hat folgendes geschrieben : | Muss ich um SQL Datenbanken zu erstellen unbedingt ein Server installiert haben? |
Nein, es ist aber sinnvoll zumindest in der Entwicklungsumgebung mit einem Server zu arbeiten.
Das erleichtert auch die Entwicklung und Fehlersuche sehr.
Ich empfehle dir Firebird als Server.
Die kostenlose Version von IB-Expert reicht für den Anfang als Oberfläche zur Entwicklung und Administration der Datenbank.
Damit kannst du z.B. Datenbanken mit der gewünschten Tabellenstruktur erstellen, Daten eingeben und SQL-Abfragen ausprobieren.
Magic2001 hat folgendes geschrieben : | Wenn andere mein Programm nutzen, müssen die dann ein Server installiert haben?
Ist es möglich einfach nur eine lokale DB mit SQL zu verwirklichen ohne Server installiert zu haben? |
Viele DB-Systeme bieten auch die Möglichkeit eine abgespeckte Version mit der Anwendung auszuliefern.
Firebird-Embedded ist z.B. nur eine DLL, die mit der Anwendung mitgeliefert werden kann.
Magic2001 hat folgendes geschrieben : | Wenn ja, was benötige ich dazu?
Die DBs sind nur einfache für den Heimgebrauch (Cd Verwaltung oder ähnliches)! |
Der Zugriff aus Delphi ist mit den mitgelieferten IBX-Komponenten möglich, zum ausprobieren reicht das.
Ich würde diese für Neuentwicklungen aber nicht mehr nutzen.
Die FIBPlus-Komponenten sind nach meiner Meinung ihr Geld wert. Es gibt aber auch andere Alternativen.
|
|
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 16.04.13 14:07
Magic2001 hat folgendes geschrieben : | Muss ich um SQL Datenbanken zu erstellen unbedingt ein Server installiert haben? Wenn andere mein Programm nutzen, müssen die dann ein Server installiert haben? Ist es möglich einfach nur eine lokale DB mit SQL zu verwirklichen ohne Server installiert zu haben? Wenn ja, was benötige ich dazu?
Die DBs sind nur einfache für den Heimgebrauch (Cd Verwaltung oder ähnliches)! |
Die Datenbank, mit der man am einfachsten arbeiten kann, ist meiner Ansicht nach Firebird. Die gibt es auch als Embedded-Version. Zum Entwickeln einer Anwendung, die auf eine Firebird-Datenbank zugreift, empfiehlt es sich aber, lokal einen Firebird-Server zu installieren. Der Grund liegt auf der Hand: Die Embedded-Version erlaubt keinen Multiuser-Zugriff. Wenn du jedoch gerade am Entwickeln bist, möchtest du sicher auch, wie ich das aus Erfahrung kenne, gleichzeitig mit deiner Anwendung und mit dem Datenbank-Manager (z.B. dem kostenlosen IbExpert) auf die Datenbank zugreifen. Das geht nur, wenn du den Firebird-Server installiert hast. Bei Embedded mußt du zum Testen deiner Anwendung jedesmal die Verbindung des DB-Manager zur Datenbank schließen. Wenn du später deine Anwendung mit Embedded-DB weitergibst, muß der Empfänger natürlich keinen Server installiert haben. Ich selbst mache das gewöhnlich so, daß ich es dem Anwender überlasse, ob er mit der Embedded- oder der Server-Version arbeiten möchte.
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Mi 17.04.13 13:57
Hier wurde ja schon paarmal SQLite erwähnt, hier jetzt nochmal etwas konkreter:
Ich benutze oft SQLite für solche Zwecke. Vorteil: du benötigst nur eine .dll, die du deinem Projekt beilegen musst. So kannst du einfach deine .exe und die .dll weitergeben und die Anwendung läuft (wie bei Delphi üblich) ohne Installation.
Um die .dll zu benutzen, gibt es hier für Delphi fertige Komponenten:
www.itwriting.com/blog/?page_id=659
(Downloadlink ziemlich weit unten, am Ende des Artikels).
Da du Delphi 2009 benutzt brauchst du evtl stattdessen die Unicode-Version (Link im letzten Patchlog-Eintrag).
Das Beispielprojekt macht eigentlich alles klar, was du machen musst, so dass ich überhaupt keine Probleme bei der Einarbeitung hatte.
//Edit: noch etwas theoretisches zu deinem Titel:
SQL ist nur eine Sprache, so wie Delphi (auch wenn sie ganz anders aufgebaut ist). SQL ist die Sprache, mit denen du die meisten Datenbanken ansprechen kannst, und ihr sagst, was du haben willst. Die Datenbank selbst ist nur sowas wie eine Datei, deren Aufbau du nicht kennst. Was du also brauchst, ist eine Datenbankmanagementsoftware (DBMS). Das DBMS übersetzt SQL so, dass es die richtigen Daten für dich aus der Datenbank-Datei rauslesen kann. Umgekehrt kümmert es sich auch darum, dass beim Einfügen die Daten entsprechend abgelegt werden. Und das DMBS ist das, was du normalerweise installieren musst. (Das war jetzt ganz grob  )
In der Praxis siehst du die Datenbank in irgendeinem Ordner liegen, und an das DBMS sendest du von deinem Programm aus deine SQL-Befehle. Bei SQLite ist das DBMS sozusagen in der .dll drin.
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
PC-John
Hält's aus hier
Beiträge: 15
|
Verfasst: Mi 17.04.13 19:17
Alles vieeeeel zu kompliziert hier!
Nimm die Absolute-Database von www.componentace.com
Für Privat-Anwendung(en) ist diese sogar gratis.
In dieser Absolute-DB können beliebig viele Felder pro Tabelle gahandelt werden, und es gibt nur EIN einziges Datenbank-File mit der Endung .ABS, es braucht keine DLL, und gar nichts zusätzliches Gemüse.
Im Delphi selbst werden von Absolute-DB in der IDE 4 Komponenten installiert, eine davon wird auf der Form eingesetzt, eine TDataSource dazu, und fertig ist.
Mitgeben muss man dann die Delphi-Exe und die Database.
Auch beim entwickeln der Software braucht es keinen SQL-Server.
Also, was will man mehr?
Grüsse von PC-John
|
|
WasWeißDennIch
      
Beiträge: 653
Erhaltene Danke: 160
|
Verfasst: Do 18.04.13 08:26
Meine eigenen Erfahrungen mit Absolute Database liegen schon Jahre zurück, aber ich bin damals schnell davon abgekommen, als ein Statement mit einer Subquery einen mir unerklärlichen Fehler warf. Und ob eine weiterzugebende DLL nun den Kohl fett macht muss letztendlich jeder für sich selbst entscheiden.
|
|
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 18.04.13 10:16
PC-John hat folgendes geschrieben : | Alles vieeeeel zu kompliziert hier!
Nimm die Absolute-Database von www.componentace.com
Für Privat-Anwendung(en) ist diese sogar gratis. |
Und wenn dann plötzlich Kauf-Interesse an einer damit entwickelten Anwendung entsteht, kann man bis zu 4200 Euro berappen ... Nee, da lob ich mir Firebird: garantiert in allen Fällen kostenlos, zuverlässig, einfach und unkompliziert zu handhaben und kommerziellen Datenbanken in nichts nachstehend. Dazu Zeos oder das günstige IBDac (99 Euro), und du kannst nach Herzenslust Datenbank-Anwendungen coden.
Natürlich plädiert jeder für die Datenbank, die er am besten kennt, und sogar BDE-Benutzer heben die Vorzüge dieses veralteten und seit Jahren nicht mehr weiterentwickelten Systems hervor, weil sie sich nur damit auskennen. Wenn man wie ich mit 52 noch immer Spaß am Programmieren und Lernen hat, probiert man auch mal andere Sachen wie MS-SQL (Express), PostgreSQL, MySQL usw. aus. Jedes DBMS bietet dabei Vor- und Nachteile, die man aber erst kennt, wenn man sich damit befaßt hat.
Für diesen Beitrag haben gedankt: bummi, WasWeißDennIch
|
|
smt
      
Beiträge: 45
|
Verfasst: Do 18.04.13 14:31
Was ist den gegen SQLite zu sagen?
Hab damit schon sehr gute Erfahrungen gemacht, es gibt kostenlose Komponenten für Delphi und fast jede andere Programmiersprache und es gibt sogar mit Navicat ein wirklich gutes DB-Tool.
UND: Man braucht nur eine einzige DLL-Datei mitzugeben. Mehr ist das bei SQLite ja nicht.
Also enweder Mysql (bei Serveranwendungen) oder SQLite
Sascha
|
|
WasWeißDennIch
      
Beiträge: 653
Erhaltene Danke: 160
|
Verfasst: Do 18.04.13 14:43
SQLite wurde nun doch schon mehrfach genannt. Und zu MySQL: Du kennst dessen duales Lizenzmodell? Wenn, dann würde ich eher auf MariaDB setzen, das ist der OpenSource-Fork von MySQL.
|
|
Magic2001 
      
Beiträge: 32
Delphi XE2
|
Verfasst: Mo 22.04.13 15:54
Für meine ersten Versuche mit SQL habe ich mich nun für AbsoluteDB entschieden da ich damit sofort klar gekommen bin und ich kein Server oder ähnliches Installieren musste. Meine zweite Wahl wäre SQLLite gewesen
Danke für die zahlreichen Antworten....
|
|
|