Autor Beitrag
Magic2001
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32


Delphi XE2
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Mo 15.04.13 09:25 
user profile iconMagic2001 hat folgendes geschrieben Zum zitierten Posting springen:
Muss ich um SQL Datenbanken zu erstellen unbedingt ein Server installiert haben?

Nein
user profile iconMagic2001 hat folgendes geschrieben Zum zitierten Posting springen:
Wenn andere mein Programm nutzen, müssen die dann ein Server installiert haben?

Nein
user profile iconMagic2001 hat folgendes geschrieben Zum zitierten Posting springen:
Ist es möglich einfach nur eine lokale DB mit SQL zu verwirklichen ohne Server installiert zu haben?

Ja
user profile iconMagic2001 hat folgendes geschrieben Zum zitierten Posting springen:
Wenn ja, was benötige ich dazu?

Ein entsprechendes RDBMS und Zugriffskomponenten bzw. -bibliotheken für Delphi. Von den früher sogenannten "Desktop-Datenbanken" (dBase, Paradox etc.) möchte ich abraten, da diese meist recht eingeschränkt sind. Als Alternative kommen z.B. die Embedded-DBMS in Frage, so etwa MySQL/MariaDB oder Firebird. Viele benutzen auch SQLite, dazu kann ich aber mangels persönlicher Erfahrung nichts sagen (dem Vernehmen nach soll das aber auch mehr als geeignet für Deine Belange sein). Der Vorteil der genannten Systeme liegt vor allem darin, dass sich bei entsprechender Anforderung aus einem lokalen mit recht geringem Aufwand ein Client-/Server-System aufsetzen lässt.
user profile iconMagic2001 hat folgendes geschrieben Zum zitierten Posting springen:
Die DBs sind nur einfache für den Heimgebrauch (Cd Verwaltung oder ähnliches)!

Das bekommst Du mit den genannten auf jeden Fall hin.
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Di 16.04.13 08:05 
Wenn Du mir jetzt noch den Mehrwert Deiner Antwort gegenüber meiner nennen würdest. :roll:

Für diesen Beitrag haben gedankt: F34r0fTh3D4rk, FinnO, Martok, MaxWurzel
Blup
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 174
Erhaltene Danke: 43



BeitragVerfasst: Di 16.04.13 10:28 
user profile iconMagic2001 hat folgendes geschrieben Zum zitierten Posting springen:
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.

user profile iconMagic2001 hat folgendes geschrieben Zum zitierten Posting springen:
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.

user profile iconMagic2001 hat folgendes geschrieben Zum zitierten Posting springen:
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



BeitragVerfasst: Di 16.04.13 14:07 
user profile iconMagic2001 hat folgendes geschrieben Zum zitierten Posting springen:
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
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)
BeitragVerfasst: 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



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: 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



BeitragVerfasst: Do 18.04.13 10:16 
user profile iconPC-John hat folgendes geschrieben Zum zitierten Posting springen:
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 45



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32


Delphi XE2
BeitragVerfasst: 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....