Datenbank Zugriff

JavaBeginnerWithNB

Aktives Mitglied
Hallo,
eine Java Anwendung, die eine Datenbank benutzt. Wie soll die Anwendung funktionieren bei einem User, der keine Datenbank installiert hat oder eine Datenbank hat aber die Daten nicht, die die Anwendung braucht. Wie kann man so eine Anwendung portierbar machen?
Danke
 
Gibt auch noch zB. H2 oder hsqldb, die beide rein Java sind
Kann auch eher ein Nachteil sein wenn ich meine Datenbank mal schnell mit ein paar Pythonscripten einrichten will geht das doch mit SQLite sehr gut. Und solange ich bei Java ausser einem Jar-File das ich mit installiere nichts anderes sehe kann ich auch keine Nachteile feststellen. (Performance ist vielleicht in C ein bisschen besser, deshalb Pluspunkt für SQLite. Und mal ein bisschen Werbung:

SQLite is an in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. The code for SQLite is in the public domain and is thus free for use for any purpose, commercial or private. SQLite is the most widely deployed database in the world with more applications than we can count, including several high-profile projects.
 
Bei Datenbanken würd ich immer auf sql Standard setzen. Eine Datenbank an die verwendete Programmiersprache zu koppeln halte ich für sehr kurzsichtig.
 
Ich bin kein Datenbankspezialist und benutze wenn ich es brauche MySQL, Oracle und SQLite und kann deshalb die Empfehlung von @Thallius gut nachvollziehen.
Klingt nach so'nem Tellerrand-Problem ;P

Es wundert mich halt immer dass die halbe Welt das wohl ähnlich sieht, nur du siehst es wohl anders ....
Hab ich gesagt, das ich das völlig anders sehe? Ich hab nur mal weiter in den Raum geworfen.
Das dann falsche Argumente für SQLite kommen, ist ja nicht meine Schuld...

Abgesehen davon - das H2-Maven-Artifact wird etwa 10 mal so oft genutzt wie SQLite, spricht irgendwie nicht dafür, dass die halbe Welt das nutzt? oder nutzt man dafür einen anderen als den Treiber von xerial?
 
Abgesehen davon - das H2-Maven-Artifact wird etwa 10 mal so oft genutzt wie SQLite, spricht irgendwie nicht dafür, dass die halbe Welt das nutzt? oder nutzt man dafür einen anderen als den Treiber von xerial?

Da haben wir dann wohl Deinen Tellerrand nämlich Java erreicht. Ich glaube kaum das über alle Programmiersprachen hinweg H2 und Maven 10 mal öfter genutzt wird....
 
SQLite ist in der Java Welt eigentlich erst ein Begriff geworden, seit es in der Android Plattform eingesetzt wurde. Gegenüber H2 hat es meiner Erfahrung nach als Java Embedded DB auch einige Nachteile:

1. Performance
2. Nicht Muti-User fähig
3. Plattformabhängig
4. Nicht im Server Modus betreibbar

Ein direkter Vorteil ist mir eigentlich nicht bekannt, aber ich lasse mich gern eines besseren belehren...
 
Der TO möchte die DB mit der Applikation ausliefern, daher wird weder die Multiuser noch die Serverfunktion benötigt.

Man könnte, um wieder zum Thema zu kommen, dem TO raten eine Embedded Datenbank zu nutzen, welche das ist (es gibt auch z.B. MSSQL Compact als weitere Alternative) ist ein anderes Thema.
 
SQLite ist in der Java Welt eigentlich erst ein Begriff geworden, seit es in der Android Plattform eingesetzt wurde. Gegenüber H2 hat es meiner Erfahrung nach als Java Embedded DB auch einige Nachteile:

2. Nicht Muti-User fähig

Ein direkter Vorteil ist mir eigentlich nicht bekannt, aber ich lasse mich gern eines besseren belehren...

Das stimmt so nicht. Lesen kann man Multi-User und es gibt tatsächlich auch eine Möglichkeit sich eine SQLite Variante zu compilieren die zumindest zuläßt das mehrere Benutzer schreiben, auch wenn er intern natürlich nur locked und den zweiten warten läßt bis der erste fertig ist.

Gruß

Claus
 
Er hatte zu SQLite geraten und nicht zu einer Embedded DB, sonst hätten wir jetzt keine zwei Seiten Thread mit den vor und nachteilen von SQLite.
 
Ich wollte nur noch Alternative nennen...ahnt ja niemand, dass das so ausartet...


Zumindest sind in Java anderer weiter verbreitet als SQLite, und das obwohl es Standard für Android ist...

Da haben wir dann wohl Deinen Tellerrand nämlich Java erreicht. Ich glaube kaum das über alle Programmiersprachen hinweg H2 und Maven 10 mal öfter genutzt wird....
https://db-engines.com/en/ranking
Wenn du auf den Link klickst bitte nicht verzweifeln, H2 ist schon auch dabei aber unterhalb der halben Welt ... 🙂
🙂
Wenig überraschend, oder? Gilt halt nur nicht für die Nutzung mit Java, und um Java gings doch?
 
Aha ... und das weisst du woher ?

z.B. die Nutzung der Maven-Artifacts.
Ich geh mal davon aus, das das größte Repo für Java-Software durchaus als Maßstab herhalten kann?
Falls du einen besseren Maßstab hast, gern her damit 😉

Und nicht nur da. Schau halt mal nach wo überall auf deinem Mac, iPhone und iPad eine SQLite-Datenbank dahintersteckt.
Ich sprach nicht Grundlos von *Java* 😉
 

Neue Themen


Zurück
Oben