Java und Datenbanken

Was für Anforderungen hast Du denn an die Datenbank? Wenn die Applikation nur intern / lokal eine Datenbank benutzen soll, dann wäre sqlite und co eine Alternative. Mit Datenbankserver kommen dann die übrigen Verdächtigen wie mysql, postgresql, ms sql, ...
 
ansonsten nutze ich Schon Datenbanke
Dann würde ich mal davon ausgehen du hast schon eine MySQL-Datenbank laufen und möchtest die jetzt mit Java nutzen. Du wirst dann auch sicher wissen wie du deine Datenbank einrichtest, Tabellen anlegst etc. Dann brauchst du eigentlich nur noch den JDBC-Treiber für MySQL (eine Jar-Datei) und ein paar Beispiele wie man mit jdbc arbeitet und die findest du im Netz. Z.B. hier: https://de.wikibooks.org/wiki/Java_Standard:_JDBC und dann kannst du loslegen.
 
Das hängt halt mit der Konfiguration zusammen. In der Standard-Einstellung wird von MySQL meist nur die Verbindung von localhost zugelassen meine ich. Aber natürlich kann man alles so einstellen, dass es auch über das Netz funktioniert. Wobei ich sowas zwei mal überdenken würde - es ist in meinen Augen nicht ratsam, Dinge über das Netz erreichbar zu machen, wenn man keine Ahnung hat, was man genau tut.
 
Mhmmm, der Standardfall dürfte ja bzgl. Datenbank eine Client/Server-Konfiguration über das Netz sein. Auch wenn man das bei MySQL zuerst zulassen muss. Aber der TE hat ja gesagt er kennt sich mit MySQL aus und er hatte ja keine Frage zur MySQL-Konfiguration sondern zum Zugriff via Java. Also würde ich ihm die Basics mal zutrauen. Evtl. sagt er ja auch nochmal was dazu 😉😉
 
Ich habe einen bei dem ich eine MySQL-Datenbank betreibe. Ich betreibe dort u.a. eine Messdatenerfassung/Verwaltung/Auswertung und das ist meine DB und nicht dessen DB. Ok, ich habe dort eine virtuelle Maschine, ist vielleicht nicht ganz das was du gemeint hast. Und wir spekulieren ja gerade was die Umgebung des TE betrifft.
 
Mhmmm, der Standardfall dürfte ja bzgl. Datenbank eine Client/Server-Konfiguration über das Netz sein. Auch wenn man das bei MySQL zuerst zulassen muss. Aber der TE hat ja gesagt er kennt sich mit MySQL aus und er hatte ja keine Frage zur MySQL-Konfiguration sondern zum Zugriff via Java. Also würde ich ihm die Basics mal zutrauen. Evtl. sagt er ja auch nochmal was dazu 😉😉
Wie Thallius schon sagte, wird das wohl kein seriöser Hoster zulassen. Das ist auch gut so, denn wenn ein Client mit einer externen Datenbank, in diesem Fall einer MySQL-Datenbank kommunzieren soll, dann nie direkt, sondern immer über einen Webservice zum Beispiel. Ansonsten hast du ein großes Sicherheitsproblem (Zugangsdaten müssten dann im Java-Code verdrahtet sein oder in einer Konfigurationsdatei liegen, was wiederum bedeutet, dass die Daten ausgelesen werden können).
Selbst wenn er sich mit MySQL auskennt, würde ich ihm davon abraten. Bei PHP ist es nämlich anders, da die PHP-Anwendung i. d. R. auf dem gleichen Webserver liegt.

Edit: Ok, wenn du eine virtuelle Maschine hast, dann liegt deine Anwendung wahrscheinlich auch auf dem Server, oder? Dann kommunzierst du ja nicht über das Internet und in dem Fall ist das ja auch vollkommen in Ordnung. 🙂
 
Also das mit dem seriösen Hoster müsste man noch etwas weiter ausführen. Ich kenne doch einige große Hoster, die auch ermöglichen, dass die Datenbank von außen zugreifbar ist - so der Kunde dies will. Und die Sicherheit muss so oder so gegeben sein! Die Hoster, die ich kenne, haben unterschiedliche Systeme für Webserver und Datenbankserver und da findet dann so oder so ein Zugriff über das Netz statt. Es sollte also halbwegs abgesichert sein, damit nicht andere aus dem Intranet Zugriff haben.

Aber ja, man sollte Services generell kapseln. Hat den Vorteil, dass man Veränderungen nur an einer Stelle durchführen muss. So die Schnittstelle des Webservice gleich bleibt, muss ich nicht einen Client anpacken um mögliche Änderungen vorzunehmen. Das vereinfacht extrem viel und lässt den Entwicklern / Verantwortlichen größt möglichen Handlungsspielraum.

Aber das nur kurz als meine Zugabe. Ist nicht als ein Widersprechen zu sehen!
 
Ich kenne doch einige große Hoster, die auch ermöglichen, dass die Datenbank von außen zugreifbar ist
Ich habe es gerade nochmal bei meinem probiert. Funktioniert auch ! Aber generell habt ihr ja alle recht. Wir schweifen aber ab. Der TE wollte wissen wie man via Java auf Datenbanken zugreift. Und JDBC ist eine der Möglichkeiten. Um mehr gehts ja gar nicht. Oder sollen wir ihm sagen lass es sein, es geht nicht 😉😉😉
dann liegt deine Anwendung wahrscheinlich auch auf dem Server, oder?
Beides, auf dem Server aber auch dezentral auf PC's bzw. Android-Smartphones. Der Zugriff erfolgt aber via VPN.
 
Beides, auf dem Server aber auch dezentral auf PC's bzw. Android-Smartphones. Der Zugriff erfolgt aber via VPN.

Wir schweifen noch weiter ab aber gerade da ist es harakiri die DB direkt anzusprechen. Wenn du jetzt Änderungen an der DB vornimmst kannst du kein Änderungen machen ohne Gefahr zu laufen, dass die verschiedenen Applikationen dann nicht mehr laufen und must gegenenenfalls alle Applikationen die die DB benutzen ändern damit sie wieder vernünftig laufen. Bei einem Webservice machst du Zentral eine Änderung und kannst problemlos auf verschiedene Clients unterschiedlich reagieren.

Gruß

Claus
 
Wenn du jetzt Änderungen an der DB vornimmst kannst du kein Änderungen machen ohne Gefahr zu laufen, dass die verschiedenen Applikationen dann nicht mehr laufen
Da bin ich ja absolut deiner Meinung ! Es kommt halt auf die Anwendung und deren Einsatz/Nutzung an. Beruflich arbeite ich gerade an einer Applikation im Justizbereich bei der eine zentrale Datenbank pro Bundesland existiert, mit dieser Datenbank arbeiten dezentrale Anwendungen in den einzelnen Gerichtsstandorten (via JDBC 😉😉) Und an diesen dezentralen Anwendungen sind wiederum Client-PC's der Mitarbeiter "angeschlossen". Dies halte ich z.B. für eine verteilte netzwerkbasierte Anwendung. Das Netzwerk selber ist natürlich passend geschützt.
 
wie man mysql auf den Windows Server installiert und nutzt weiß ich nicht nutzte da bisher nur Xampp oder halt Server ich möchte einfach lokal die Datenbank haben, muss speichern laden und datensätze verschiedener tabellen miteinander vergleichen.
 
muss speichern laden und datensätze verschiedener tabellen miteinander vergleichen.
Du kannst in der Tat ja mal mit SQLite beginnen. Der Umstieg auf MySQL ist total easy und wenn du es geschickt anfängst machst du das ganze einfach konfigurierbar. Im Code wirst du dann gar nichts ändern muessen. Das Thema JDBC brauchst du aber auf jeden Fall und das ist unabhängig von der zugrunde liegenden Datenbank.
 
Okay ich habe jetzt herausgefunden dass jdbc in java 8 entfernt wurde wie geht dass jetzt ohne?
Das wurde nicht entfernt, sqlite-jdbc lässt sich genauso benutzen wie unter Java 7.

Entfernt wurde die JDBC-ODBC Bridge, die brauchst du aber nicht, und es wurde mWn auch schon länger empfohlen, die JDBC-Treiber der DB zu benutzen.
 

Zurück
Oben