mySQL - Datenbank auf PC's ohne mySQL-Server

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
kmayse
Beiträge: 31
Registriert: Mo 16. Jan 2012, 11:24
OS, Lazarus, FPC: Win7 (L 0.9.31 FPC 2.5.1)
CPU-Target: 32Bit
Wohnort: Tübingen

mySQL - Datenbank auf PC's ohne mySQL-Server

Beitrag von kmayse »

Hallo!
Ich habe ein Projekt mit einer mySQL-Datenbank. Auf meinem PC (Win7) habe ich einen entsprechenden Server laufen, da funktioniert alles einwandfrei. Will ich das Programm aber auf einem beliebigen (Windows-)PC laufen lassen, dann geht gar nichts. Die libmySQL.dll ist bei der "Installation" auf dem Fremdrechner im Windows/system32 Ordner gelandet, da wo sie hin muss. Immernoch kommt aber die Fehlermeldung bei Programmstart, er könne keine Verbindung zur Datenbank herstellen - ist ja auch irgendwie logisch. Aber: Welche Dateien muss ich "mitliefern"? Was muss man tun, damit MySQL datenbanken auch auf anderen PCs ordentlich laufen, ohne gleich einen Server zu installieren?

LG
kmayse

DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

Re: mySQL - Datenbank auf PC's ohne mySQL-Server

Beitrag von DiBo33 »

... ohne gleich einen Server zu installieren?
geht nicht.


Du könntest SQLite nutzen, dort benötigst du nur eine *.dll zum Installieren.

Socke
Lazarusforum e. V.
Beiträge: 3177
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: mySQL - Datenbank auf PC's ohne mySQL-Server

Beitrag von Socke »

kmayse hat geschrieben:er könne keine Verbindung zur Datenbank herstellen - ist ja auch irgendwie logisch. Aber: Welche Dateien muss ich "mitliefern"? Was muss man tun, damit MySQL datenbanken auch auf anderen PCs ordentlich laufen, ohne gleich einen Server zu installieren?
Wenn mehrere Benutzer von verschiedenen Computern auf die Datenbank zugreifen sollen, wäre ein zentraler Datenbank-Server die richtige Lösung. In dem Fall musst du deinem Programm noch mitteilen, welcher Computer dieser Server ist.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

bsdmike
Beiträge: 6
Registriert: Fr 26. Okt 2007, 12:27
OS, Lazarus, FPC: Win (L 0.9.30 FPC 2.4.2)
CPU-Target: 32Bit

Re: mySQL - Datenbank auf PC's ohne mySQL-Server

Beitrag von bsdmike »

...oder Firebird. Den gibt's embedded mit .dll + ein paar zusätzliche Dateien oder auch als richtige Serverinstallation.

gocher
Beiträge: 298
Registriert: Di 23. Nov 2010, 23:41
OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
CPU-Target: 32Bit/64Bit
Wohnort: Geldern
Kontaktdaten:

Re: mySQL - Datenbank auf PC's ohne mySQL-Server

Beitrag von gocher »

ich würde ein Portables mySQL nutzen, so wie z.B. unter XAMPP, aber da gibt es einige Möglichkeiten suche doch einfach unter Google nach : portable mysql !
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: mySQL - Datenbank auf PC's ohne mySQL-Server

Beitrag von hde »

Was willst du wirklich? Soll auf jedem PC ein eigenes unabhängiges mySQL laufen oder sollen alle auf die gleiche (zentrale) Datenbank zugreifen? Und .. mit welchem Tool arbeitets du? (ZEOS?).

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: mySQL - Datenbank auf PC's ohne mySQL-Server

Beitrag von MmVisual »

Doch das Geht!!!

http://www.usbwebserver.net" onclick="window.open(this.href);return false;

Mit dem ZIP bekommt man ein auf USB Stick lauffähigen MySQL Server, der nicht installiert werden muss. Wenn man die EXE startet wird automatisch MySQL und Apache mit PHP gestartet. Wird die EXE beendet wird ist das wieder weg.

Klappt prima und supereinfach.

Ich nutze nur den und habe die EXE einfach in den Autostart gelegt. Geht natürlich nicht unter Linux, da Windows-EXE usw.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Tango
Beiträge: 48
Registriert: So 29. Aug 2010, 11:13
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Aachen

Re: mySQL - Datenbank auf PC's ohne mySQL-Server

Beitrag von Tango »

MmVisual hat geschrieben:Doch das Geht!!!

http://www.usbwebserver.net" onclick="window.open(this.href);return false;

Mit dem ZIP bekommt man ein auf USB Stick lauffähigen MySQL Server, der nicht installiert werden muss. Wenn man die EXE startet wird automatisch MySQL und Apache mit PHP gestartet. Wird die EXE beendet wird ist das wieder weg.

Klappt prima und supereinfach.

Ich nutze nur den und habe die EXE einfach in den Autostart gelegt. Geht natürlich nicht unter Linux, da Windows-EXE usw.
Also da würde ich dir Xampp empfehlen, hat vieles mehr und ist unter anderem auch für Linux verfügbar ;)

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: mySQL - Datenbank auf PC's ohne mySQL-Server

Beitrag von MmVisual »

Der Threadstarter wollte nichts extra installieren, XAMPP installiert MySQL als Dienst im System.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Tango
Beiträge: 48
Registriert: So 29. Aug 2010, 11:13
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Aachen

Re: mySQL - Datenbank auf PC's ohne mySQL-Server

Beitrag von Tango »

MmVisual hat geschrieben:Der Threadstarter wollte nichts extra installieren, XAMPP installiert MySQL als Dienst im System.
nein das stimmt nicht, man kann es als Dienst oder als Anwendung verwenden. Kannst es ja mal testen :)
Man kann ja Xampp als Installations Paket herunterladen (hat aber auch nichts zu sagen)
oder als zip/7zip Version (Portable) bei beide Varianten kann man es aussuchen wie es starten soll.

kmayse
Beiträge: 31
Registriert: Mo 16. Jan 2012, 11:24
OS, Lazarus, FPC: Win7 (L 0.9.31 FPC 2.5.1)
CPU-Target: 32Bit
Wohnort: Tübingen

Re: mySQL - Datenbank auf PC's ohne mySQL-Server

Beitrag von kmayse »

Ich hab das ganze nun mit sqllite realisiert. Mir ging es darum, das Programm dauerhaft ohne zusatzprogamme auf jedem beliebigen PC laufen zu lassen. Das geht nun mal mit mysql ohne Hilfsprogramme nicht... Sqllite reicht aber völlig aus und funktioniert einwandfrei.

LG kmayse

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Re: mySQL - Datenbank auf PC's ohne mySQL-Server

Beitrag von schnullerbacke »

kmayse hat geschrieben:Ich hab das ganze nun mit sqllite realisiert. Mir ging es darum, das Programm dauerhaft ohne zusatzprogamme auf jedem beliebigen PC laufen zu lassen. Das geht nun mal mit mysql ohne Hilfsprogramme nicht... Sqllite reicht aber völlig aus und funktioniert einwandfrei.

LG kmayse
Also,
das geht natürlich auch mit MySQL, entscheidend ist dabei der Netzwerkzugriff auf den Server. Wenn du mit der Zeos-DBO arbeitest kann man die URL oder IP-Adresse als Parameter einstellen und muss dann aber auch das Protokoll einstellen (3306 bei MySQL). Das gilt auch, wenn der Server lokal läuft aber einen Web-Zugriff(z.B. über XAMPP) realisieren soll. Also per Web-Site von aussen zugegriffen werden soll. Dann lautet die URL halt "localhost" oder "127.0.0.1" wenn man denn IP-Adressen Freak ist. :shock:
Falls eine Firewall läuft muss das Protokoll eventuell freigegeben werden, sonst gibt es keine Antworten vom Server auf die Anfragen.
Zusätzlich muss natürlich der DB-Name und der user eigentragen werden und eventuell noch das PW.
Was in jedem Fall notwendig ist, ist die passenden Client-dll, egal ob nun MySQL oder SQL-Lite.

Das funzt auf gleiche Art und Weise auch für SQL-Lite.

Möglicht 2 wäre der Zugriff über ODBC- oder JDBC-Treiber. Aber der Unterschied zum echten Client ist marginal. Der Preis für den ODBC-Treiber hingegen meistens nicht, da werden teilweise heftige Preise aufgerufen. Hinzu tritt, das ODBC- und JDBC-Zugriffe nur ein Subset der SQL-Sprache abbilden und damit meist weniger effektiv arbeiten. :evil:

Wenn es eine Desktop-Datenbank sein soll, also DB auf dem gleichen Rechner wie Proggi, dann kann man auch den Embedded-Client nehmen. Der bringt praktisch seinen eigenen Server mit. Allerdings kann man dann auch nur mit diesem Proggi auf die DB zugreifen.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: mySQL - Datenbank auf PC's ohne mySQL-Server

Beitrag von af0815 »

Auch von MySQL gibt es/gab es eine Embedded Version, inwieweit die noch als Opensource unter GPL verfügbar ist, habe ich auf der HP nicht mehr herausbekommen. Nur im Zusammenhang als Löhnware. Hängt jetzt davon ab, was man damit machen will :-)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: mySQL - Datenbank auf PC's ohne mySQL-Server

Beitrag von Christian »

Es gibt von den meissten grossen Datenbanksystemen Embedded Versionen von daher ist die ganze Diskussion überflüssig. SQLite ist aber tatsächlich die Variante mit dem wenigsten extra Komponenten.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Re: mySQL - Datenbank auf PC's ohne mySQL-Server

Beitrag von schnullerbacke »

af0815 hat geschrieben:Auch von MySQL gibt es/gab es eine Embedded Version, inwieweit die noch als Opensource unter GPL verfügbar ist, habe ich auf der HP nicht mehr herausbekommen. Nur im Zusammenhang als Löhnware. Hängt jetzt davon ab, was man damit machen will :-)
Hi af,

die gibts immer noch unter GPL allerdings darf das nicht kommerziell genutzt werden. Im Zweifel hab ich noch ne ältere Version hier rumliegen.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Antworten