Datenbank ohne Server

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo,

ich bin noch neu im Java-Geschäft.
Wie kann ich am besten eine DB einbinden, die lokal auf dem Rechner liegt (also als Datei) und die eine SQL-Abfrage bereitstellt?
Also quasi wie MySQL, nur dass die Daten beim Ntzer liegen.

Danke
 

norman

Top Contributor
ich glaube ich verstehe dich nciht ganz..du willst beim endnutzer eine DB installieren, auf die du dann von deiner applikation aus zugreifst?
und wie kann eine DB eine abfrage "bereitstellen"? in einer DB sind, wie der name vermuten lässt, daten - und keine abfrage nach diesen.
 

thE_29

Top Contributor
MS Access!

Das ganze kannst du dann in ODBC einbinden oder direkt drauf zugreifen!

Direkter zugriff sieht so aus:

Code:
String strDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
    String strUrl = "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\\datenbank.mdb";

Connection con = null;

try{
Class.forName(strDriver);
con = DriverManager.getConnection(strUrl);
}
catch(Exception ex)
{ 
ex.printStackTrace();
}

Wobei die Access Datenbank halt auf C:\ liegt und datenbank.mdb lautet!

Über ODBC gehts bisi anders nämlich gehört die Url verändert:

strUrl = jdbc:eek:dbc:database

Wobei database die freigebene Quelle im ODBC Kontext ist (was das ist, ergoogelst du einfach)
 
G

Gast

Gast
Ok, war ein Missverständnis:
Ich will ein Programm, was mit DBs arbeitet, schreiben.
Der User soll NICHT - also keine Datenbank - zusätzlich installieren müssen.
Die gespeichert DB soll dann als ein einzelne Datei vorliegen.
Außerdem wäre es gut, wenn ich auf die Daten per SQL-Syntax zugreifen könnte.
Was bietet sich da an?
 

thE_29

Top Contributor
Was ist an meiner Lösung bitte so schlimm??

Access ist genau das was du willst und net HSQLDb oder sonstiges!

Da muss die ganze Zeit was laufen, sprich man muss was starten!

Eine Access DB liegt nur rum und man kann drauf zugreifen (mit SQL Syntax)
 

thE_29

Top Contributor
Nücht?

<ot>Office ist bei mir seit meinem ersten PC immer dabei ;)

Für was gibts für Studenten die billige Studentenversionen und für die anderen die Firmen ;)

Studenten haben sowieso immer Glück!

Win XP Pro 6 €

office 2k3 6€

etc..

http://sts.tuwien.ac.at/sss.php</ot>


Ansonsten soll er sich von nem Freund oder dgl, einfach ne leere access db erstellen lassen!

Er kann ja via Create table, etc sowieso die Tabellen dann per SQL erstellen!
 

AlArenal

Top Contributor
SamHotte hat gesagt.:
Naja, Access liegt halt nicht bei jedem auf dem Rechner 'rum ...

Halleluja, Bruder!

Zum Thema:
"Weapon of choice" für einen Java-Entwickler bei den genannten Anforderungen ist sicher eine Java-DB die einen "in process"-Modus hat, also fest zum Programm gehört und nicht gesondert gestartet werden muss. Populäre Vertreter sind Java DB (aka Apache Derby, ehemals IBM, ehemals Cloudscape), HSQLDB (das auch in Open Office 2.0 seinen Dienst versieht), H2, McKoi, ... - allesamt Open Source und frei verwendbar.

@the_29:
Als nächstes rätst du ihm vermutlich noch, es mit Excel zu machen. Man kann die Dinge natürlich auch unnötig verkomplizieren.
 

SamHotte

Top Contributor
AFAIK wird Access nur bei Office Professional mitgeliefert (korrigiert mich bitte, wenn die Info veraltet ist); die meisten Aldi-PCs haben aber - wenn überhaupt - die Personal-Variante.

In Unternehmen würde ich nicht grad Access empfehlen (außer für Quick-n-dirty-Prototypen).

Und ob du mit einer Access-Datenbank was anfangen kannst, wenn das DBMS nicht installiert ist, wage ich mal zu bezweifeln ;-)
 

thE_29

Top Contributor
Ich weiß net was ihr alle gegen Access habt!

Geht mal auf ne MS Schulung!

Die raten erst ab zig Daten (bzw gigabyte) zum MSSQL Server.

Ich selber war net dort (waren die Supportler) von daher...



Problem bei den von euch genannten Datenbanken ist eben das da ein "Server" bzw eine Instanz von der Datenbank laufen muss!

Was bei Access eben nicht muss!

Lest euch mal die Anforderungen vom user durch!

Mir gehts net drum das access net das beste ist, aber genau was der Threadersteller will kann es und für sowas ist das am besten geiegnet!

@SamHotte: Mein 2t PC daheim hat kein Office oben und dort geht so ein Bsp auch ohne probs!

Wie gesagt, Java hat diese ODBC Bridge schon dabei und MS hat bei den ODBC Einträgen access auch immer drinnen. (beim Win2k wars so)
 

thE_29

Top Contributor
Achja nochwas!

Wenn er Access hat und diese DB nur zum Testen nimmt, anstatt immer nen MYSQL Server zum Nutzen, dann ist Access in diesem Fall sicher zig mal zu bevorzugen, bevor ich mit einer Java DB rummach, da das einfacher zu konfen ist ;)
 

AlArenal

Top Contributor
thE_29 hat gesagt.:
Ich weiß net was ihr alle gegen Access habt!

Wenn man es nicht eh schon hat, ist es einfach nicht nötig dafür Geld auszugeben, um eine Java-Anwendung zu entwickeln. Noch "lustiger" ist es bei anderen Usern der Software dann Access vorauszusetzen.

Geht mal auf ne MS Schulung!

Warum, machen die auch Open Office? :p

Problem bei den von euch genannten Datenbanken ist eben das da ein "Server" bzw eine Instanz von der Datenbank laufen muss!

Das ist falsch. Vielleicht gehst du erstmal auf kostenlose Rundreise durchs Web, ehe du uns auf ne kostenpflichtige MS-Tuppa-Party schickst.
 

thE_29

Top Contributor
HSQLDB = Server (sonst hätte ich diese Variante schon genommen)

Derby = okay, da braucht man keinen Server, hätte auch mal statt access derby verwenden können! (hier gibts aber auch wieder den servermode!)

Nur wo wird da 1e Datei mit Derby etc abgespeichert?

Das sind zig Dateien! Bzw, muss man sich dann noch durch die API wühlen wie ich das mit dem DriverManager überhaupt lade?

Die anderen 2 bin ich zu faul zum Nachschaun, bist dir aber sicher das da kein Server wie bei HSQLDB laufen muss?


Tjo und wie von mir schon beim 2ten Post beschrieben, ist Access eben genau das was er will.


Wenn er Access hat, isses imho das beste! Geht am schnellsten einrichten (bzw man muss nur ne Datei kopieren) keine weiteren classpathes oder etc, eintragen...
Sprich super ;)

Ansonsten spricht nix gegen Derby (außer das da zig Files und net 1e Datei abgelegt werden..)
 

AlArenal

Top Contributor
thE_29 hat gesagt.:
HSQLDB = Server (sonst hätte ich diese Variante schon genommen)

Falsch. HSQLDB hab ich vor Jahren schon in einer Standalone-App (was immer das bei Java auch heißt ;) ) benutzt. HSQL kennt von Haus aus einen Server-Modus, einen Web-Modus (wie Server-Modus, aber auf dem Firewall-freundlichen Port 80) und einen In-Process-Modus.

Derby = okay, da braucht man keinen Server, hätte auch mal statt access derby verwenden können!

Hat nen Server- und nen In-Process-Modus.

Nur wo wird da 1e Datei mit Derby etc abgespeichert?

Bei HSQLDB da, wo du sie hinkonfigurierst. Hatte mir Derby mal angeschaut, kurz nachdem IBM es freigegeben hatte. War mir zu umständlich, zu langsam, zu aufgeblasen und bin bei HSQL geblieben.

Das sind zig Dateien! Bzw, muss man sich dann noch durch die API wühlen wie ich das mit dem DriverManager überhaupt lade?

K.a. wie Derby das managet und wie man es evtl. anders konfiggen kann. Bei HSQL (und H2 ist da 1:1 kompatibel) kann man direkt auf einer CSV-Datei arbeiten. Und was das "API-Wühlen" angeht ist das ebenso ein Einzeiler, wie bei jeder anderen JDBC-Verbdindung auch. Und nun erzähl mir nciht, wenn man Access aus Java benutzt, weiß der Sourcecode dank Eingabe von Gott selbst, wie er sich zu connecten hat...

Tjo und wie von mir schon beim 2ten Post beschrieben, ist Access eben genau das was er will.

Nur scheinbar, weil du dich offensichtlich mit den Java-DBs nicht wirklich ausreichend beschäftigt hast, um das richtig einordnen zu können.
 

AlArenal

Top Contributor
thE_29 hat gesagt.:
Echt?

Wie wo?

Damals im chat hat mir jeder gesagt, dass das net geht!

Toll²

Vermutlich haben die auch nur weitergeplappert, was einmal ein einzelner an Murks verzapft hat, anstatt sich mal selbst ein Bild zu machen.
 

Larouso

Mitglied
HSQLDB hat halt das Problem, dass immer nur eine Verbindung zur gleichen Datenbank zu einem Zeitpunkt bestehen kann... jedenfalls ist das bei mir damals so gewesen... anonsten ist das glaub ich schon genau das was du suchst.
 

thE_29

Top Contributor
Oho! ;)

Naja, dann hätte ich HSQLDB nehmen können!

Naja, egal. SW läuft jetzt mit Access DB und mein Geld habe ich auch schon dafür bekommen :bae:


Wieder mal was neues gelernt (man lernt ja nie aus :bae:)
 

thE_29

Top Contributor
*indereckesteheundschäm*

PS.: Asurede hab: Ich arbeite grundsätzlich nur mit Oracle, also was interessieren mich diese DBs ;)
hihi :bae:
 

thE_29

Top Contributor
So muss den Thread wieder ausgraben ;)

Freund von mir hat auf anraten dieses Threads hier (von mir) HSQLDB genommen (statt Access).

Tjo und nun meinte er, dass HSQLDB im Standalone Betrieb die Daten so merkt, indem es sich alle SQL Befehle merkt (inserts, deletes, etc..).

Natürlich dauert das nach jedem neustart der Anwendung >30 Sekunden und wird immer länger (ist ne DB für MP3 Sammlung).

Aber das kanns ja jetzt wirklich nicht sein, dass sich HSQLDB die Daten so "merkt" oder?
Gibts da noch einen Modus? Ansonsten ist das Teil ineffizient zum Quadrat (außer man schaltet die App nie aus, aber da würde ich dann ja sowieso nen Server nehmen) und sowas empfehlt ihr einem hier? :bae:
 

xote

Mitglied
Ich denke mal, da haut er was mit den cached modes durcheinander.

btw: HSQLDB is dead. Long live the new king H2!
 

Alex_winf01

Top Contributor
@ All

wir steigen gerade um von Access auf Oracle. Bei insgesamt > 50 GB Datenvolumen jährlich!!! hört Access definitiv auf.
 
G

Gelöschtes Mitglied 5909

Gast
Tjo und nun meinte er, dass HSQLDB im Standalone Betrieb die Daten so merkt, indem es sich alle SQL Befehle merkt (inserts, deletes, etc..).

nehm h2 und werd glücklich ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
NoXiD Access Datenbank in java einbinden ohne ODBC treiber zu erstellen Datenbankprogrammierung 5
T MySQL Zugriff ohne Angabe der Datenbank Datenbankprogrammierung 3
P Datenbank für Java Anwendung wie SQLite ohne Installation Datenbankprogrammierung 4
S Datenbank zugriff optimieren - zugriff ohne cursor? Datenbankprogrammierung 7
D An Access Datenbank andocken ohne sie beim System anzumelden Datenbankprogrammierung 3
D ODBC Zugriff auf MDB-Datenbank, Insert Into ohne Funktion Datenbankprogrammierung 2
B ResultSet ohne Datenbank erstellen Datenbankprogrammierung 4
R Datenbank ohne Installation (Multiuser) Datenbankprogrammierung 9
torresbig MySQL hibernate - could not resolve entity class ... (Datenbank Anfänger) Datenbankprogrammierung 19
M Meine Datenbank lässt sich mit meiner Methode nicht ändern Datenbankprogrammierung 1
I SaaS Applikation: pro Kunde eine Datenbank / Schema oder eine DB für alle Kunden? Datenbankprogrammierung 76
T SQL-Statement Datenbank nach SQL Statement schließen? Datenbankprogrammierung 7
M Datenbank Zugraff nach Umwandlung in .jar-Datei nicht mehr möglich Datenbankprogrammierung 4
Auf MySql Datenbank zugreifen funktioniert nicht Datenbankprogrammierung 8
MongoDB-Datenbank in Androidstudio einbinden Datenbankprogrammierung 1
thor_norsk Datenbank: Apache Derby Datenbankprogrammierung 6
B SQlite Datenbank, trotz Statements wurden nicht alle Zeilen erzeugt? Datenbankprogrammierung 35
M Datenbank mit REST API Datenbankprogrammierung 66
M Entfernte Datenbank Datenbankprogrammierung 11
T Datenbank: Tabelle erstellen bei Web-Applikation Datenbankprogrammierung 4
D SQLite Datenbank in Android Studio (Java) durchsuchen Datenbankprogrammierung 3
M MySQL Datenbank in Array Datenbankprogrammierung 2
S Den letzten Eintrag aus Datenbank ziehen (Oracle SQL Dev.) Datenbankprogrammierung 14
N Datenbank abfragen nach bestimmten Wort Datenbankprogrammierung 7
Beginner22 Zugriff auf Datenbank aus Java über mariadb Datenbankprogrammierung 3
ma095 value NULL- Datenbank Postgresql Spring - intellij community Datenbankprogrammierung 0
raptorrs Plötzlich keine Verbindung zur Datenbank mehr möglich Datenbankprogrammierung 14
Davee SQLite SQLite Datenbank lässt sich nicht auf anderen PCs öffnen Datenbankprogrammierung 8
P Datenbank Tool - besser als oracle SQL Developer gesucht mit effizinte Verbindungsverwaltung Datenbankprogrammierung 2
X JPA (EclipseLink) und Oracle Datenbank Datenbankprogrammierung 2
T Datenbank auf einer Webseite aus einer Exceltabelle erstellen Datenbankprogrammierung 5
L SQL Datenbank Datenbankprogrammierung 7
L SQL Datenbank INSERT INTO Datenbankprogrammierung 6
L SQL Datenbank Tabelle insert Datenbankprogrammierung 7
L SQL Datenbank Tabelle erstellen Datenbankprogrammierung 6
nonickatall MySQL Auf neue Datensätze in einer Datenbank reagieren Datenbankprogrammierung 5
W MYSQL Datenbank Login Android Datenbankprogrammierung 3
anton1 Online Datenbank Datenbankprogrammierung 7
krgewb H2-Datenbank öffnen Datenbankprogrammierung 8
J Datenbank abfragen Datenbankprogrammierung 6
P Verbindung zu einer Access Datenbank per Eclipse oder Intellij Datenbankprogrammierung 0
O SQL Abfragen mit Mini Datenbank Datenbankprogrammierung 12
Z Datenbank Choicebox wird nicht befüllt Datenbankprogrammierung 15
S Suche In SQL Datenbank mit array Datenbankprogrammierung 6
P Enum in der Datenbank Datenbankprogrammierung 1
Z SQL- Datenbank 1.PK zu 2.FK Datenbankprogrammierung 3
E netbeans - jsp Daten in Datenbank hinzufügen Datenbankprogrammierung 2
bueseb84 Spring Boot : Update Mysql Datenbank Datenbankprogrammierung 1
Avalon Attribute werden mit Unterstrich in eine MySQL Datenbank eingetragen Datenbankprogrammierung 10
MiMa wo Datenbank verbinden/trennen? Datenbankprogrammierung 1
H MySQL Verbindung Datenbank und Eclipse (Java) Datenbankprogrammierung 5
DeltaPilot12 Datenbank connect Funktion Datenbankprogrammierung 7
J Oracle Datenbank-Tabelle per Combobox (oder ähnliches) auswählen Datenbankprogrammierung 3
N SQL Datenbank Spalte in Java Array Datenbankprogrammierung 2
J JAR-Datei und Datenbank Datenbankprogrammierung 8
Bluedaishi Datenbank Abfrage Datenbankprogrammierung 36
Kirby.exe Zeile aus der Datenbank holen wenn ein match besteht Datenbankprogrammierung 7
Kirby.exe Es werden keine Einträge in der Datenbank gemacht Datenbankprogrammierung 23
C Datenbank anlegen und über eine Website mit Daten füllen? Datenbankprogrammierung 25
J Welche Kriterien haben Einfluss auf die Geschwindigkeit einer Datenbank ? Datenbankprogrammierung 4
B Frage zu Datenbank Design bei Events (ZenDesk) Datenbankprogrammierung 1
M SQLite Datenbank mit SQLite Datenbankprogrammierung 7
C String in Datenbank einfügen Datenbankprogrammierung 11
C Keinen Zugrift auf Datenbank Datenbankprogrammierung 2
C Datenbank zugreifen Datenbankprogrammierung 10
L Auf Strato Datenbank zugreifen Datenbankprogrammierung 7
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
G Datenbank Statement Datenbankprogrammierung 22
M Datenbank editierbach machen in JTable Datenbankprogrammierung 13
S Datenbank MySQL und Java Datenbankprogrammierung 8
M H2 Verbindung zur Datenbank komplett schließen Datenbankprogrammierung 11
J Aufbau meiner Datenbank/Tabelle - Verbessern? So lassen? Datenbankprogrammierung 39
J Nur CRUD über Datenbank Klasse, oder auch mehr ? Datenbankprogrammierung 2
Dimax MySQL Maximale Datenlänge für eine Spalte einer Datenbank in java ermitteln Datenbankprogrammierung 15
L Appabsturz mit Datenbank Datenbankprogrammierung 4
J Zahlungseingänge von mehreren Kunden wie am besten abbilden in der Datenbank ? Datenbankprogrammierung 8
L Datenbank sichern Datenbankprogrammierung 8
S Daten von SQLite Datenbank nutzen Datenbankprogrammierung 5
J Datenbank VPS Server Datenbankprogrammierung 3
H MySQL MySQL - Keine Verbindung zur Datenbank?! Datenbankprogrammierung 4
NIckbrick MySQL Befehle aus Datenbank auslesen Datenbankprogrammierung 21
S Datenbank/Java true/false Datenbankprogrammierung 8
J JUNIT und CRUD-Datenbank Datenbankprogrammierung 4
F Datenbank/Datenabgleich/Wiederholungsabfrage Datenbankprogrammierung 12
@SupressWarnings() Eure bevorzugte Datenbank-Library Datenbankprogrammierung 9
C datenbank verbindung config Datenbankprogrammierung 23
L MySQL Android zu externer MySQL Datenbank verbinden Datenbankprogrammierung 5
M Datenbank vor unerlaubtem Zugriff durch Benutzer schützen Datenbankprogrammierung 3
U MySQL Aus Servlet in Datenbank schreiben Datenbankprogrammierung 4
H Datenbank Export mit Java Datenbankprogrammierung 3
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
S SQL-Statement Datenbank Zeitbereich durchsuchen Datenbankprogrammierung 2
L Messenger App - Wie am besten auf Datenbank zugreifen? Datenbankprogrammierung 4
H MySQL Datenbank auf Xampp nimmt keine Mediumblob an. Datenbankprogrammierung 0
D Datenbank Abfrage Datenbankprogrammierung 7
H MySQL Benutzer Login System mit Datenbank Informationen (Abfrage zu User ist auf DB gesichert) Datenbankprogrammierung 42
L Oracle Datenbank über Java aufrufen Datenbankprogrammierung 29
DaCrazyJavaExpert Derby/JavaDB Unfindbarer Fehler im Datenbank-Code Datenbankprogrammierung 87
DaCrazyJavaExpert Derby/JavaDB Wert einer Variable in der Datenbank direkt auf 1 setzten. Datenbankprogrammierung 71
W MySQL Ausgabe von Datenbank in Java-App Datenbankprogrammierung 6

Ähnliche Java Themen

Neue Themen


Oben