On- und Offline: MySQL oder Access?
Alexander
- datenbank
Hallo!
Nochmal was zu datenbanken:
Ich bräuchte Datenbanken, zu mehreren Zwecken:
Ein Beispiel: Für eine Immobilien Firma, die Objekte schon in einer Access Datenbank stehen hat - wäre doch am einfachsten, diese mdb Datei zu verwenden, oder? Also die Abfrage im internet über ASP wäre Grundsätzlich von den Voraussetzungen kein Problem. Mir geht es nur darum,
1. Ich hatte das zwar schon mal gefragt aber noch keine 100% befriedigende Antwort erhalten: Wenn ich eine Desktop Lizens für MS Office habe, kann ich dann auch eine mdb Datei auf den WebServer hochladen und benutzen? D.h. Einträge auf dem Desktop machen, und nur im Internet Abfragen über ASP ermöglichen, brauche ich hierfür noch eine extra Lizens, oder noch ein Programm außer mein Access, ASP und ODBC?
2. Wie würde das dann funktionieren, so eine Access Datenbank zu aktualisieren? D.h. wenn ich was eingebe(offline) muß ich dann immer die mdb Datei überschreiben, das dauert ja auch so seine Zeit, wenn die größer ist! Kann man da einen Abgleich machen?
Wenn ich Online Einträge machen möchte, dann ebenfalls über ein Formular mit ASP Skript? Womit macht man die Ergebnisseite, wird das in ASP gemacht? jedenfalls verstehe ich nicht, wie das läuft, dass auf den meisten Antwort Seiten immer die erste Zeile eine farbe hat , die 2. eine andere, die3, wieder die erste... wie geht das?
zu MySQL: Ich hab zwar mal gelernt, wie das so ungefähr funktioniert, d.h. wie die aufgebaut ist und einfache Abfragen, aber irgendwie kann ich mir das praktisch nicht vorstellen. Hat man dann eine Datei mit der endung sql? Und womit schreibt man sowas? Kann man doch auch aus Access exportieren, oder? Könnte ich die dann auch offline verwenden? Jedenfalls kann man die wohl am einfachsten über PHP(oder perl) abfragen, richtig? da gibts ja viel drüber zu lesen.
Könnte man sowas wie die Immobilien Firma mit einzelnen Objekten auch in eine MySQL Datenbank übernehmen? Und wie würden dann neue Einträge hinzugefügt oder geändert, nur noch online mit PHP?
Kann man so auch Bilder einfügen(in die Datenbank) oder wie macht man das am besten? Womit erstellt man die Ergebnisseiten, mit kurzem Text oder Vorschau(bild)?
Womit würdet Ihr eher sowas machen? Was ist wohl einfacher zu realisieren und wo liegen die Vor- und Nachteile?
Habt Ihr vielleicht ein paar Links für mich, wo ich mich in der Beziehung mal etwas schlauer machen könnte?
Vielen Dank schon im Voraus und noch ein schönes Wochenende:-)
Mit freundlichem Gruß
Alexander
Hi Alexander,
Zu der Access-Lizenz: die Desktop-Variante hat mit einer mdb im Netz nicht das geringste zu tun.
Du verwendest ASP, ODBC und ein MDAC am Webserver.
Als Oberfläche kann alles mögliche dienen:
z.B:
http://www.2enetworx.com/dev/projects/tableeditor.asp
zur Programmierung ASP und Access:
http://www.aspfaq.de
oder:
Active Server Pages in 14 Tagen
http://iwi2-biw.iwi.unisg.ch/sw_support/asp/inhalt.htm
Gruss
Christian
Hallo!
Nochmal was zu datenbanken:
Ich bräuchte Datenbanken, zu mehreren Zwecken:
Ein Beispiel: Für eine Immobilien Firma, die Objekte schon in einer Access Datenbank stehen hat - wäre doch am einfachsten, diese mdb Datei zu verwenden, oder? Also die Abfrage im internet über ASP wäre Grundsätzlich von den Voraussetzungen kein Problem. Mir geht es nur darum,
- Ich hatte das zwar schon mal gefragt aber noch keine 100% befriedigende Antwort erhalten: Wenn ich eine Desktop Lizens für MS Office habe, kann ich dann auch eine mdb Datei auf den WebServer hochladen und benutzen? D.h. Einträge auf dem Desktop machen, und nur im Internet Abfragen über ASP ermöglichen, brauche ich hierfür noch eine extra Lizens, oder noch ein Programm außer mein Access, ASP und ODBC?
- Wie würde das dann funktionieren, so eine Access Datenbank zu aktualisieren? D.h. wenn ich was eingebe(offline) muß ich dann immer die mdb Datei überschreiben, das dauert ja auch so seine Zeit, wenn die größer ist! Kann man da einen Abgleich machen?
Wenn ich Online Einträge machen möchte, dann ebenfalls über ein Formular mit ASP Skript? Womit macht man die Ergebnisseite, wird das in ASP gemacht? jedenfalls verstehe ich nicht, wie das läuft, dass auf den meisten Antwort Seiten immer die erste Zeile eine farbe hat , die 2. eine andere, die3, wieder die erste... wie geht das?
zu MySQL: Ich hab zwar mal gelernt, wie das so ungefähr funktioniert, d.h. wie die aufgebaut ist und einfache Abfragen, aber irgendwie kann ich mir das praktisch nicht vorstellen. Hat man dann eine Datei mit der endung sql? Und womit schreibt man sowas? Kann man doch auch aus Access exportieren, oder? Könnte ich die dann auch offline verwenden? Jedenfalls kann man die wohl am einfachsten über PHP(oder perl) abfragen, richtig? da gibts ja viel drüber zu lesen.
Könnte man sowas wie die Immobilien Firma mit einzelnen Objekten auch in eine MySQL Datenbank übernehmen? Und wie würden dann neue Einträge hinzugefügt oder geändert, nur noch online mit PHP?
Kann man so auch Bilder einfügen(in die Datenbank) oder wie macht man das am besten? Womit erstellt man die Ergebnisseiten, mit kurzem Text oder Vorschau(bild)?
Womit würdet Ihr eher sowas machen? Was ist wohl einfacher zu realisieren und wo liegen die Vor- und Nachteile?
Habt Ihr vielleicht ein paar Links für mich, wo ich mich in der Beziehung mal etwas schlauer machen könnte?
Vielen Dank schon im Voraus und noch ein schönes Wochenende:-)
Mit freundlichem Gruß
Alexander
Hi Christian!
Danke für die Links! Also ASP und ODBC ist schon vorhanden, wie ist das mit einem MDAC(was ist das???) am Webserver? Kostet das irgendwelche Lizensgebühren und wo bekomme ich das her?
Hat vielleicht jemand noch Links für meine PHP/MySQL-Fragen? Unten bei ner Diskussion waren ein paar gute Links dabei, nur ist der Beitrag schon leider im Nirvana*g*
War ne superausführliche Anleitung zu MySQL Datenbanken mit PHP. Wie kan man denn SQL Datenbanken offline verwenden(mit welchem Program, Access?) und kann man einen Datenabgleich machen???
Wäre für dei Beantworten einiger der Fragen sehr Dankbar!
Gruß
Alexander
Hi Alexander
Hi Christian!
Danke für die Links! Also ASP und ODBC ist schon vorhanden, wie ist das mit einem MDAC(was ist das???) am Webserver? Kostet das irgendwelche Lizensgebühren und wo bekomme ich das her?
MDAC:
Microsoft data access component (oder so)
gibt es zum DL bei MS (Suchen!)
wenn access auf der maschine läuft, brauchst Du das nicht.
kostet nix.
mysql und php ist leider nicht mein revier.
Gruss
Christian
Hat vielleicht jemand noch Links für meine PHP/MySQL-Fragen? Unten bei ner Diskussion waren ein paar gute Links dabei, nur ist der Beitrag schon leider im Nirvana*g*
War ne superausführliche Anleitung zu MySQL Datenbanken mit PHP. Wie kan man denn SQL Datenbanken offline verwenden(mit welchem Program, Access?) und kann man einen Datenabgleich machen???
Wäre für dei Beantworten einiger der Fragen sehr Dankbar!
Gruß
Alexander
Hallo Alexander,
Ein Beispiel: Für eine Immobilien Firma, die Objekte schon in einer Access Datenbank stehen hat
mit Objekten meinst Du Immobilien, oder? (Im Gegensatz zu Objekten als Teil ein Programmiersprache)
Wenn ich Online Einträge machen möchte, dann ebenfalls über ein Formular mit ASP Skript? Womit macht man die Ergebnisseite, wird das in ASP gemacht? jedenfalls verstehe ich nicht, wie das läuft, dass auf den meisten Antwort Seiten immer die erste Zeile eine farbe hat , die 2. eine andere, die3, wieder die erste... wie geht das?
Das uebernimmt das Skript, dass die Anwort generiert. So wie Du das schilderst, liest das Skript die Daten aus der Datenbank (das sind dann eine Menge von Zeilen) und faerbt beim Ausgeben jede 2. Zeile anders ein (z.B. ueber Color-Tags, CSS, ...). Mit CSS duerfte es aber deutlich kuerzer und einfacher zu aendern sein.
zu MySQL: Ich hab zwar mal gelernt, wie das so ungefähr funktioniert, d.h. wie die aufgebaut ist und einfache Abfragen, aber irgendwie kann ich mir das praktisch nicht vorstellen. Hat man dann eine Datei mit der endung sql? Und womit schreibt man sowas?
Frage: Hast Du schon mal mit Datenbanken _ausser_ Access gearbeitet?
Wie die Datenbank als solches aufgebaut ist (d.h. wie die Dateien aussehen) ist fuer Dich als Entwickler normalerweise nicht so wichtig (obwohl das Wissen nicht schadet und beim Tunen schon wichtig wird).
»»Kann man doch auch aus Access exportieren, oder? Könnte ich die dann auch offline verwenden? Jedenfalls kann man die wohl am einfachsten über PHP(oder perl) abfragen, richtig? da gibts ja viel drüber zu lesen.
Du muesstet die Daten, die in irgendeiner Access-Datenbank stehen, in eine Mysql-Datenbank uebertragen.
Abfragen kann man die Mysql-Datenbank in so ziemlich jeder Programmiersprache, da praktisch alle Sprachen entsprechende Abfragebibliotheken/Module zur Verfuegung stellen Was am einfachsten ist, ist Geschmackssache. Aber der normale Entwicklungszyklus duerfte wohl so aussehen:
Du entwirst deine Datenbankabfrage am Mysql-Monitor, das ist eine Textkonsole. Hast Du dann Deine Abfrage fertig, uebertraegst Du sie in die entsprechende Programmiersprache.
Könnte man sowas wie die Immobilien Firma mit einzelnen Objekten auch in eine MySQL Datenbank übernehmen?
Ja.
»»Und wie würden dann neue Einträge hinzugefügt oder geändert, nur noch online mit PHP?
Wie gesagt, wenn Du das Wissen hast, am Mysql-Monitor. Aber fuer den "normalen" Benutzer ist die Online-Maske wohl vorzuziehen. Es sollte auch mit Access und ODBC gehen, siehe unten.
Kann man so auch Bilder einfügen(in die Datenbank) oder wie macht man das am besten?
Prinzipiell ist das moeglich. Aber ich rate mal: Du willst Fotos von Immobilien auf der Webseite darstellen. Dann speichert man nicht das ganze Bild in der DB (dann wird die naemlich sehr schnell _sehr_ gross), sondern nur den Pfad des Bildes. Bei der Abfrage fuegst Du diesen Pfad dann als <img ...> Tag ein.
Habt Ihr vielleicht ein paar Links für mich, wo ich mich in der Beziehung mal etwas schlauer machen könnte?
Das Mysql-Handbuch:
http://www.mysql.com/documentation/
such nach "Access" (Kap. 1.10.12) bzw. "ODBC" (Kap. 19).
ODBC ist eine Schnittstelle fuer Datenbanken, damit solltest Du die Sachen aus Access in Mysql bekommen.
Gruss
Thomas
Hallo Thomas!
Vielen Dank für die besonders ausführliche Antwort und die Beantwortung viel meiner Fragen!
mit Objekten meinst Du Immobilien, oder? (Im Gegensatz zu Objekten als Teil ein Programmiersprache)
Genau, sorry, daran hatte ich nicht gedacht!
Frage: Hast Du schon mal mit Datenbanken _ausser_ Access gearbeitet?
gearbeitet kann man nicht sagen, ich hab halt mal in Wirtschaftsinformatik gelernt, wie SQL Datenbanken aufgebaut sind, und wie diese abgefragt werden
Aber der normale Entwicklungszyklus duerfte wohl so aussehen:
Du entwirst deine Datenbankabfrage am Mysql-Monitor, das ist eine Textkonsole. Hast Du dann Deine Abfrage fertig, uebertraegst Du sie in die entsprechende Programmiersprache.
Also ich lege in diesem SQL Monitor eine Datenbank mit allen Tabellen und verknüpfunen an, und kann hier oder halt z.B. online über PHP einträge und Änderungen daran vornehmen, richtig?
Kann man so auch Bilder einfügen(in die Datenbank) oder wie macht man das am besten?
Prinzipiell ist das moeglich. Aber ich rate mal: Du willst Fotos von Immobilien auf der Webseite darstellen. Dann speichert man nicht das ganze Bild in der DB (dann wird die naemlich sehr schnell _sehr_ gross), sondern nur den Pfad des Bildes. Bei der Abfrage fuegst Du diesen Pfad dann als <img ...> Tag ein.
aber das ist schon für "normal Sterbliche" gar nicht mehr so einfach! Ich meine, dann müßte man das Bild ja, natürlich mit entsprechendem Namen, per FTP hochladen! Ich will auch keine Bilder in der Datenbank, kann man wohl über PHP sowas machen, dass vielleicht automatisch eine Verknüpfung zu einer Bilddatei, z.B. ../images/haus_0001.jpg, (halt in diesem Beispiel autotmatisch 0001 als die Nummer des Datensatzes) Dann müßte das Bild nur noch mit richtigem Namen an richtiger Stelle hochgeladen werden!
Es geht hierbei halt darum, dass jemand, der vom Internet so gar keine Ahnung hat, die Daten auf aktuellem Stand halten kann! Für mich selbst wäre das schon kein Problem, aber ich denke, dass die meisten Leute wohl mit access Datenbanken einigermaßen umgehen können, deshalb würde ich diese hierfür glaub ich vorziehen, oder? Auf der anderen Seite macht es eigenltich auch keinen Unterschied, ob man das in ein Access oder PHP Formular eingibt, wenn das Ergebnis dasselbe ist, oder? Ist halt nur noch das Problem mit den Bildern. Einen längeren Text(etwa 100-200 Worte) kann man ja auch über ein Textfeld eingeben, oder?
Viele Grüße und nochmal vielen Dank,
Alexander
Hallo Alexander
mit Objekten meinst Du Immobilien, oder? (Im Gegensatz zu Objekten als Teil ein Programmiersprache)
Genau, sorry, daran hatte ich nicht gedacht!
Schon okay, es gibt halt Datenbanken, in denen Du auch Objekte speichern kannst (z.B. PostgreSQL). Mysql kann das aber (aktuell) nicht.
Also ich lege in diesem SQL Monitor eine Datenbank mit allen Tabellen und verknüpfunen an, und kann hier oder halt z.B. online über PHP einträge und Änderungen daran vornehmen, richtig?
Richtig, wobei Du DB und alles weitere im Normalfall auch per PHP anlegen kannst. Es gibt auch grafische Tools (z.B. phpmyadmin), die Dir das coden zu einem ziemlich grossen Teil abnehmen.
aber das ist schon für "normal Sterbliche" gar nicht mehr so einfach! Ich meine, dann müßte man das Bild ja, natürlich mit entsprechendem Namen, per FTP hochladen!
Naja, um das Hochladen kommst Du in keinem Fall drumherum, oder? Die Bilder muessen ja irgendwie auf den Webserver.
»»Ich will auch keine Bilder in der Datenbank, kann man wohl über PHP sowas machen, dass vielleicht automatisch eine Verknüpfung zu einer Bilddatei, z.B. ../images/haus_0001.jpg, (halt in diesem Beispiel autotmatisch 0001 als die Nummer des Datensatzes) Dann müßte das Bild nur noch mit richtigem Namen an richtiger Stelle hochgeladen werden!
Ja, kann man sicherlich. Allerdings sind meine PHP-Kenntnisse nicht so gut, dass ich das so aus dem Stegreif machen kann.
Es geht hierbei halt darum, dass jemand, der vom Internet so gar keine Ahnung hat, die Daten auf aktuellem Stand halten kann! Für mich selbst wäre das schon kein Problem, aber ich denke, dass die meisten Leute wohl mit access Datenbanken einigermaßen umgehen können, deshalb würde ich diese hierfür glaub ich vorziehen, oder?
Oeh, koennen die meisten Leute mit Access umgehen? Ich hab noch nie damit gearbeitet, bin da also disqualifiziert. Es ist wohl eher so, dass in den meisten Firmen das komplette MS-Office da ist und damit auch Access. Ob das jetzt das ultimative Teil ist, sei dahingestellt. Ich arbeite im Normalfall mit Konsolen, da verstehe ich besser, was passiert :-) .
Auf der anderen Seite macht es eigenltich auch keinen Unterschied, ob man das in ein Access oder PHP Formular eingibt, wenn das Ergebnis dasselbe ist, oder?
Doch, fuer Dich! Es duerfte wesentlich einfacher sein, eine DB anzulegen, mit der die Leute sich per ODBC verbinden und dann die Sachen aendern, als die ganzen PHP-Skripte zu coden.
Es kommt auch auf den Wissensstand der Mitarbeiter an. Wenn sie sich mit Access auskennen, wuerde ich ihnen eine Einfuehrung in FTP verpassen und das Ganze mit Access loesen.
Kennen sie sich mit Access nicht aus, ist PHP-Skript coden wohl effektiver (d.h. schneller).
Haengt auch davon ab, was Dein Chef sagt :-), d.h. wieviel Aufwand Du Dir erlauben darfst.
Das Problem in beiden Faellen ist halt das Hochladen der Bilder, denn das Bild muss passend benannt werden und der richtige Pfad in die DB eingetragen werden.
»»Ist halt nur noch das Problem mit den Bildern. Einen längeren Text(etwa 100-200 Worte) kann man ja auch über ein Textfeld eingeben, oder?
Ja, Text ist kein Problem, da Du den ja direkt in der DB speicherst.
Wie gesagt, lies Dir mal im MySQL-Handbuch die Sachen mit ODBC-Schnittstellen durch.
Viel Spass noch
Thomas
Hi Thomas!
Oeh, koennen die meisten Leute mit Access umgehen? Ich hab noch nie damit gearbeitet, bin da also disqualifiziert. Es ist wohl eher so, dass in den meisten Firmen das komplette MS-Office da ist und damit auch Access.
Ja, so meinte ich das natürlich.-)
Auf der anderen Seite macht es eigenltich auch keinen Unterschied, ob man das in ein Access oder PHP Formular eingibt, wenn das Ergebnis dasselbe ist, oder?
Doch, fuer Dich! Es duerfte wesentlich einfacher sein, eine DB anzulegen, mit der die Leute sich per ODBC verbinden und dann die Sachen aendern, als die ganzen PHP-Skripte zu coden.
Außerdemist die Datenbank ja schon kpl. vorhanden! Problem ist nur, dass auch die Bilder drin gespeichert sind, und nicht gerade klein sind(200MB!!). Die müßte ich dann wohl rausnehmen und separat hochladen, oder?
Die Daten werden halt nur auch offline für Exposés etc. gebraucht. Dann müßten sich also die Leute mit der Datenbank im Internet(ODBC) verbinden, und ich müßte das, was vorher in Access mit Formularen gamacht wurde, online über ASP machen, oder kann man do Formularfunktionen(in Access) dann weiterverwenden, wenn man sich mit der DB verbindet?
Es kommt auch auf den Wissensstand der Mitarbeiter an. Wenn sie sich mit Access auskennen, wuerde ich ihnen eine Einfuehrung in FTP verpassen und das Ganze mit Access loesen.
Das wird wohl das beste(einfachste) sein!
Kennen sie sich mit Access nicht aus, ist PHP-Skript coden wohl effektiver (d.h. schneller).
Was heißt schneller? Die Datenbank?
Vielen Dank nochmal für die zahlreichen Tips:-)
Gruß
Alex
Hallo Alexander
Außerdemist die Datenbank ja schon kpl. vorhanden! Problem ist nur, dass auch die Bilder drin gespeichert sind, und nicht gerade klein sind(200MB!!). Die müßte ich dann wohl rausnehmen und separat hochladen, oder?
Naja, 200MB sind fuer keine ernstzunehmende Datenbank ein Problem. Aber je groesser die DB, dester laenger dauern die Operationen (Select, update, ...) dadrauf. Und da Dich die Bilder als solche ja nicht interesserieren (Du wirst wohl kaum eine Suche nach Bildern machen, die links oben weiss sind, rechts eine Sonne haben, ... und dazu die Binaerdaten des Bild durchsuchen), reicht es vollkommen, die Pfade zu den Bildern zu speichern.
Die Daten werden halt nur auch offline für Exposés etc. gebraucht. Dann müßten sich also die Leute mit der Datenbank im Internet(ODBC) verbinden, und ich müßte das, was vorher in Access mit Formularen gamacht wurde, online über ASP machen, oder kann man do Formularfunktionen(in Access) dann weiterverwenden, wenn man sich mit der DB verbindet?
Das ist eine Frage zu Access, da muss ich passen. Wie gesagt, hab da noch nie mit gearbeitet. Aber Du kannst ja mal auf einer der Mysql Mailing-Listen posten, da hast Du wohl mehr Glueck.
Was heißt schneller? Die Datenbank?
Nein, Du bist schneller fertig. So wie sich das anhoert, ist Geschwindigkeit bei Deiner DB kein so grosses Problem. Das bisschen Text und die Pfade zu den Bildern sollten problemlos (na gut: relativ problemlos :-) ) machbar sein.
Gruss
Thomas