"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

HELP: Datenbanküberlegungen

prayerslayer 05.11.2007 - 21:22 702 6
Posts

prayerslayer

Oar. Mh.
Avatar
Registered: Sep 2004
Location: vorm Sucher
Posts: 4073
moin moin.

ich möcht (bzw soll/muss) für meine einrichtung die leistungsdokumentation neu machen. weil ich access nicht als lösung akzeptiere, lautet mein plan mysql+java. so weit, so gut. allerdings haben sich grade bei der planung ein paar überlegungen aufgetan, die ich allein nicht lösen kann :) ihr seid gefragt!

problem a:
vom chef wurde mobilität gefordert, d.h. er will zwecks vorführungen und show-off die doku mitnehmen. das war bis dato mit access leicht, einfach das file kopieren. doch wie mit einer mysql-datenbank?

überlegung:
die db (ob es wirklich die ganze sein muss, weiss ich nicht) in eine datei exportieren und dann laden. format? ich wollt in xml schreiben, aber wie lange dauert sowas bei (grob) 80k einträgen/jahr? alternativen? web-interface kommt nicht in frage, da kenn ich mich security-mäßig zu wenig aus und der chef neigt bei sowas zu leichter paranoia.

problem b:
momentan liegt die doku (das mdb-file) auf einem netzlaufwerk eines linux-servers. ich würd von meinem java-frontend gern lokal auf die db zugreifen.

knoten im hirn:
wenn jetzt die db auf dem linux server installiert ist, welcher auf einem netzlaufwerk das frontend dazu zur verfügung stellt und jemand führt es direkt (ohne zerst lokal auf hdd kopieren) aus: muss ich den db-zugriff lokal (weil frontend und db auf gleichem server) oder extern (frontend wird von woanders ausgeführt) programmieren?

hoff das hat sich wer durchgelesen und weiß was :) dickes tia!

AoD

aka AngelOfDeath
Avatar
Registered: Nov 2002
Location: St. Pölten
Posts: 1482
Eine Alternative wäre als primäres Datenbank System MySQL zu verwenden, aber als Front End wie gehabt MS Access. Die MySQL Tabellen dann als verknüpfte Tabellen einbinden und los gehts.
Vorteile:
1. gewohntes Layout
2. MySQL als Back End => Backup, Replication etc...
3. Für den Datentransport wird die Verknüpfung gelöst und die Daten aus MySQL direkt in die Access DB kopiert (funktioniert zB per Makro). Somit muss man auch nichts extra schreiben (zB Daten aus xml Datei lesen)

Mein bisherige Erfahrung war, dass man einfache UI's schneller in Access hat als selber in Java.

ica

hmm
Avatar
Registered: Jul 2002
Location: Graz
Posts: 9818
evtl. auch ne überlegung wert:
http://developers.sun.com/javadb/

prayerslayer

Oar. Mh.
Avatar
Registered: Sep 2004
Location: vorm Sucher
Posts: 4073
tut mir leid, ich hab echt keine lust, mich mit access auseinanderzusetzen. javadb ist eine möglichkeit, danke, muss ich mir genauer anschauen.

hat bitte wer eine lösung zu problem b? :)

strumma

Little Overclocker
Avatar
Registered: Nov 2006
Location: LL/KR
Posts: 129
ad b) hoffe, ich versteh deine frage richtig :) zumindest auf einem windows-rechner greifst du mit java auf diese mdb-datei ja ohnehin indirekt über eine odbc-schnittstelle zu... die legst du dir in systemsteuerung --> verwaltung --> datenquellen (odbc) (unter xp) an, wobei die mdb-datei genau so auf einem samba-share im netz liegen kann, und diese odbc-quelle sprichst du dann von java aus an. wie das äquivalent hierzu auf einem linux-client aussieht, kann ich dir leider nicht sagen.

ad a) in punkto mobilität wird imho access der schnellste und billigste weg bleiben. wenn's also mal soweit wird, die applikation irgendwo mitzunehmen, bastelst du dir einfach ein skript dass die aktuellen daten in eine access-db rüberschaufelt (praktischerweise wieder mittels java und oben angesprochener odbc-schnittstelle). dabei musst du halt auch darauf achten dass du der applikation ohne groß neukompilieren (configfile) beibringst, auf welche datenbank sie jetzt zugreifen soll.

ad knoten) versteh ich nicht :) wie du auf die access-db zugreifst weißt du ja jetzt :) und um auf die mysql-db kommst du mittels einem eigenem java-mysql-treiber, der glaube ich in deinem classpath liegen muss und dir eine klasse bereitstellt, mit der du dich dann an der db anmelden kannst. und das nicht über ein netzlaufwerk, sondern mittels der server-ip + port.

hoffe ich konnte deine fragen beantworten, und dass es nicht allzu konfus geschrieben ist :)

prayerslayer

Oar. Mh.
Avatar
Registered: Sep 2004
Location: vorm Sucher
Posts: 4073
ich bin ein dödl... eigentlich wollte ich wissen, ob ich im code beim zugriff auf die mysql-db localhost oder eine ip angeben muss. aber das ist völlig wurst, weil er's eh checkt, wenn die ip die eigene ist :bash:

danke strumma, hast mir indirekt geholfen :D

strumma

Little Overclocker
Avatar
Registered: Nov 2006
Location: LL/KR
Posts: 129
hehe, gerne doch :)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz