Access oder MySQL

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
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: Access oder MySQL

Beitrag von gocher »

Danke schon mal für die MSSQL Werte, ich dachte Zeos kann auch ADO, für einen richtigen Vergleich sollten die zwei Datenbanken um die es hier wie auch im Titel geht schon vertreten sein.
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me

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

Re: Access oder MySQL

Beitrag von MmVisual »

Zeos kann als Protokoll nur das, was unterstützt wird. Siehe Objektinspektor, bei TZConnection, das DropDown Menü bei der Eigenschaft Protocol.
Hatte ich hier geschrieben: viewtopic.php?p=60511#p60511

Wenn Du ADO dort drin haben willst, dann programmiere das doch hinzu. Die Zeos Entwickler würden sich freuen, wenn jemand neue Protokolle hinzufügt.
EleLa - Elektronik Lagerverwaltung - www.elela.de

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: Access oder MySQL

Beitrag von gocher »

mschnell hat geschrieben:hier http://www.delphipraxis.net/22650-hilfe ... ccess.html steht:

1. Also du nimmst eine ZConnection und plazierst sie z.B. auf deinem Formular!
2. Unter Protocol wählst Du aus "ado"
3. Bei Database auf die ... klicken. Neues Fenster geht auf.
4. Bei Provider "Microsoft Jet 4.0 OLE DB Provider wählen"
5. Bei Verbindung auf ... klicken und gewünschte .mdb raussuchen!

Scheint also doch möglich zu sein (via ADO).


Christian hat geschrieben:Irgendwo habt ihr alle recht aber doch auch keiner :)

Zeos nutzt nämlich das was der Programmierer vorgibt.
Man kann mit Zeos ADO oder ODBC oder Direktzugriff nutzen (wenn der für die entsprechende DB unterstützt wird)
Für MSSQL z.b.
kann man entweder direkt über ntwdblib.dll zugreifen (Windows only und unterstützt nur alle Features bis MSSQL 2000 funktioniert aber auch mit aktuelleren Servern)
oder direkt über freetds.dll (Windows,Linux,MacOS volle Features)
oder über ADO (etwas langsamer da ADO Treiber noch dazwischen ist, Windows only)
oder über ODBC (einiges langsamer das OSBC Treiber dazwischen und oft schlecht optimiert) (Im Fall von MSSQL Windows Only, oft gibts aber auch Datenbanktreiber für Linux und MacOS)

Christian hat geschrieben:Der Weg über ADO ist nicht steinig, Zeos kann das bereits ;)


Hallo Christian und mschnell, Ihr seid gefragt wie geht's? :oops:

Wenn ich das richtig sehe kann Zeos zumindest ADO nur unter Delphi, das liegt wohl zum Teil daran das OleDB.pas nicht zur Verfügung steht, aber selbst wenn ich meine OleDB.pas hinzufüge, müssen für Free Pascal wohl noch einige Anpassungen vorgenommen werden!
Zuletzt geändert von gocher am Di 26. Mär 2013, 00:36, insgesamt 1-mal geändert.
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: Access oder MySQL

Beitrag von hde »

was ist das hier für ein hirnrissiges Unterfangen Access mit DB2, g11 oder ähnlichem zu vergleichen?
Ihr wollt doch Access nicht wirklich als Datenbank bezeichnen oder ist das hier wilrklich ein Kindergarten :|
Soviel Unverstand in einem Thread hab ich ja noch nie erlebt.
hde
NS nur nebenbei, wir programmieren seit Jahrzehnten Datenbanken

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Access oder MySQL

Beitrag von mschnell »

hde hat geschrieben:NS nur nebenbei, wir programmieren seit Jahrzehnten Datenbanken

Wird man dadurch zwingend so überheblich ?

-Michael

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

Re: Access oder MySQL

Beitrag von hde »

nee, nur das hier "superschlaue" große Töne spuckenund offenbar gar nichts begreifen (wollen?), das regt mich auf. Sorry

Ihr könnt MS-Accss mit DBASE, FOXPRO, und PARADOX vergleichen, vielleicht noch mit SQlite (welche ich vorziehen und noch am ehesten als Datenbank bezeichen würde)

Aber wirklich als Datenbank taugt keine davon.

MS-SQL, MySQL, Firebird, PostgeSQL, Sybase Anywhere und ähnliche spielen in einer anderen Liga

und dann folgen die wirklichen Datenbanken,

Hier soll ein Trabant gegen einen Porsche antreten, oder ein Kreisligaverein gegen einen aus der Budesliga ..

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: Access oder MySQL

Beitrag von gocher »

Es geht hier um Flexibilität Desktop Datenbanken wie Access ist sicher nicht zu vergleichen mit Server Datenbanken jedoch haben beide ihre Daseinsberechtigung, und wenn das nicht so wäre, wäre es auch egal denn es gibt sie und das ist Grund genug über Zugriffsmöglichkeiten zu sprechen!
Wie ich weiter recherchiert habe kann Zeos unter Delphi wohl auf ADO zugreifen, das werde ich testen, dann werde ich versuchen ADO unter Free Pascal zum laufen zu bringen, vielleicht gibt es ja unter Euch jemanden der das auch mal probieren möchte, dann bräuchtet ihr hier nicht weiter herum zu blöken wie eine wild gewordene Horde Schafe. Immer ruhig bleiben und schauen was geht und wie gut, immer vergleichen, jeder kann sich mal irren!
Ich möchte hier keine Datenbank schlecht machen und auch keine Komponente, denn ich möchte selbst den besten weg gehen, bisher habe ich noch keinen perfekten Weg gefunden, den wird es wohl auch nicht geben. Aber ich brauche Access, SQLite, MSSQL, MySql und PostgreSQL und bitte nicht schreien die Reihenfolge ist keine Gewichtung und das Aufzählen ist kein Vergleich geschweige eine Gleichstellung. Um auf diese Datenbanken zugreifen zu können suche ich nach einer möglichst System unabhängigen Lösung, ich weiß nicht alle Datenbanken stehen auf allen Systemen zur Verfügung, aber das heißt ja nicht das man im Hintergrund also nicht im Täglichen Coden unterschiedliche Wege hat um zum Ziel zu kommen!
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: Access oder MySQL

Beitrag von hde »

Dann such von mir aus bis du alt und grau bist. Alten Hasen glauben willst du ja nicht.
Zeig mir ein einziges Programm, wo man mit einem Klick unter den von dir genannten "Datenbanken" umschalten kann, es sei denn, dieses Programm ist so trivial dass es gar keine Datenbank bräuchte.
In diesem thread haben dir das schon mehrere Leute versucht dir das klarzumachen, also nur zu .. und viel Glück

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

Re: Access oder MySQL

Beitrag von hde »

hde hat geschrieben:Zeig mir ein einziges Programm, wo man mit einem Klick unter den von dir genannten "Datenbanken" umschalten kann,

Sorry, ich hab in pascal gedacht -- XDEV3 bzw, demnächst XDEV4, unterstützt die meisten Datenbanken und gleicht deren Unterschiede weitesgehend aus, .. nur .. das ist kein pascal und kein c oder c++ -- läuft aber auf vielen Plattformen, aber nicht nativ ..
hde

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: Access oder MySQL

Beitrag von gocher »

Also ich programmiere jetzt schon seit über 30 Jahren und seit ca. 12 Jahren nutze ich ADO und greife damit auf MSSQL, MySQL, Access und so mancher anderen Datenbank zu. Ich habe bereits Hunderte Programme auf Datebank-Basis geschrieben, Programme, ActiveX-Komponenten, ISAPI-DLL's, ... in den unterschiedlichsten Programmiersprachen und bei einem Wechsel der Datenbank habe ich bisher nie viele Änderungen machen brauchen, ja es geht soweit das meine Programme & ISAPI-DLL's nur über eine INI-Datei die Info haben welche Datenbank sie ansprechen sollen. Und über eine von mir geschriebene ISAPI-DLL laufen bei uns ca. 50 CMS auf unterschiedlichen Datenbanken. Es liegt halt immer daran wie man Programmiert, ein alter Hase ist man nicht nur durch Alter! Ein alter Hase wird dadurch das man sich bildet, informiert und sich immer selber wieder in Frage stellt. Ich habe schon so manche Komponente in meinem Leben geschrieben, weil die existierenden mir nicht gut genug waren und meistens gab der Erfolg mir recht.

Ach so bezüglich triviale Programme mein CMS ist sehr ausgereift und stellt nahezu alle Möglichkeiten zur Verfügung die man sich wünscht, ich schreibe Programme die aus einer Datenbank dicke Kataloge erzeugen mit hunderten von Tabellen und Bildern, aber auch den umgekehrten Weg von einer Zeitschrift die ohne dazutun ins Internet kommt. Erfassungssoftware für Kataloge, Datenttransfer zwischen unterschiedlichsten Datenbanken und Datenstrukturen, Newsletter-Systeme mit eigenem SMTP-Mailer und vieles mehr.

Ich hatte für Windows die Lösung ADO für mich gefunden, ich muss auch nicht jetzt in Zeos die Lösung finden, auch wenn mir es jetzt schon gelungen ist die ADO-Dateien in die Packages aufzunehmen und ohne Fehler zu kompilieren. Aber ich habe beruflich sicherlich noch mindestens 20 Jahre mit der Materie zu tun und so lohnt sich jede Art der Forschung um sich die Arbeit zu erleichtern und dabei macht mir das alles noch so viel Spaß, auch wenn ich es nicht leiden kann wenn einer über den anderen herzieht und Äußerungen von sich gibt nur weil er meint er sei schlauer, weil er seine Lösung schon gefunden hat oder sich sicher ist das es keine gibt. Die Erde ist keine Scheibe!
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: Access oder MySQL

Beitrag von hde »

dann viel Spaß beim Forschen :|

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: Access oder MySQL

Beitrag von Christian »

Sry für Lazarus ist ADO wirklich nicht aktiviert. Ich denke aber fast das es dafür keinen (aktuellen) triftigen Grund gibt. Warscheinlich könnte man das mittlerweile unter Windows durchaus anschalten. Ich hattes noch von Delphi aufm Zeiger. Grundsätzlich kann Zeos jedenfalls ADO.

Microsoft hat sich übrigends im letzten Jahr begonnen von ADO zu verabschieden. Es wird sogar gerad ein Linux Treiber für MSSQL entwickelt. (Nur so für die nächsten 20 Jahre)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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

Re: Access oder MySQL

Beitrag von MmVisual »

gocher hat geschrieben:Aber ich brauche Access, SQLite, MSSQL, MySql und PostgreSQL


Meine Software "EleLa" (google) kann in der aktuellen Version SQLite, MSSQL, MySql und PostgreSQL. Das Umschalten der DB geht innerhalb weniger Sekunden. Wenn jemand seinen Datenbestand in eine andere DB transferieren will, so hilft EleLa dabei auch und innerhalb weniger Minuten kann man zwischen allen Datenbank wechseln.
Access werde ich wohl nie unterstützen, weil ich es schon mal gar nicht will. Wenn Du auf Access verzichtest, dann ist die ZEOS Komponente schon mal super gut geeignet.

EleLa ist ein schon sehr mächtiges Programm zur Lagerverwaltung, Projektplanung und Verwaltung von Bestellungen, uvm.. Es sind einige komplexe SQL Abfragen drin. Es werden sogar Bilder als PNG/JPG mit bis zu 64KB in der Datenbank abgelegt. Komplettes Update-System und EleLa kann alle DB-Versionen intern selbstständig updaten, ja sogar anlegen wenn man einen neuen Server einrichtet und somit kann ich (EleLa) die DB jederzeit erweitern. Hier ist der DB Aufbau beschrieben:
http://www.mmvisual.de/Hilfe/EleLa/TutorialDB/TutDB.htm

PS: hde hat vor längerer Zeit auch eine gute DB Komponente gesucht und, ich denke, mit ZEOS fündig geworden (oder habe ich mich jetzt getäuscht?)
EleLa - Elektronik Lagerverwaltung - www.elela.de

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Access oder MySQL

Beitrag von mschnell »

hde hat geschrieben:... wirklich als Datenbank ...

Definiere das mal !

Ich benutze seit Jahren ein Programm zur Verwaltung von Fotos (momentan ca. 300.000 Bild-Dateien, oft zwei aktive Benutzer gleichzeitig).

Das wurde ursprünglich mit einer JET Datenbank installiert, die Datei liegt auf einem Linux Fileserver. Das funktionierte immer ordentlich. Die Datenbank Datei, die u.a. Thumbnails für alle Bilder (BLOBs) enthält, ist inzwischen 1,5 GByte groß.

Weil JET Datenbank-Dateien maximal 2 GByte groß werden können, habe ich vor einiger Zeit mal testweise auf Postgres Cleint-Server umgestellt. Der Server läuft auf dem besagten Linux Server. (Die Umstellung war für mich als Datenbank-Neuling nicht exorbitant schwierig, obwohl das Programm selbst von Postgres nichts weiß. Ich habe ein SQL-Script gefunden, mit dem man die notwendigen Tabellen für eine ältere Postgres Version einrichten kann. Das musste ich etwas modifizieren und außerdem musste ich auf dem Server ein Postgeres-Plugin für einen der benötigten Feld-Typen installieren. ) Das Programm kann den Inhalt von einer Datenbank in eine andere kopieren. (Das wäre sicher auch mit einer Datenbank-Oberfläche wie Access oder OpenOffice oder mit SQL-Scrips und einem Interpreter möglich gewesen.)

Effekt: Das Suchen nach Bildern entsprechend Bild-Eigenschaften geht mit C/S deutlich schneller.

Der Aufbau der Thumbnail-Darstellung (ca. 50 Thumbnails pro Bildschirmseite) geht deutlich langsamer.

Da Suchen relativ selten gebraucht wird, Die Thumbnail-Anzeige aber dauernd, Ist JET hier besser.

-Michael

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: Access oder MySQL

Beitrag von Christian »

Eine Objektive Bewertung kann es hier nicht geben, da kaum Informationen vorhanden sind.

Die Jet DB wird warscheinlich zu grösseren Teilen in den Hauptspeicher geladen. Da der DatanbankServer ja quasi lokal läuft. Ich würd nach den Assuagen auch mal drauf tippen das der Linux Server langsamer als dein Client ist.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten