Antwort
 
Themen-Optionen
Alt 23.07.2005, 14:57 Nach oben    #1
taskin73
Gast
 
Beiträge: n/a
Standard Datenbank Verwaltung

Hallo,

ich habe eine frage zur Datenbank, ich komme langsam ans ende meiner pgm.
Ich habe eine jar datei erstellt die auch läuft nur wenn ich die jar datei zur eine andere platform transportiere wo auch natürlich jdk oder sdk instaliert ist muß ich
die datenbank neu hinzufügen über Systemsteuerung/Verwaltung/Datenquellen(ODCB) , kann mann das nicht schon bei der datenbank connect programmierung erledigen.

DANKE !
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 25.07.2005, 02:03 Nach oben    #2
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 575
Standard

Das Problem ist, dass du eine Datenbankanbindung über ODBC verwendest.
Das musst du aber nicht.

Und hier wieder mein Lieblingslink: www.javabuch.de , das Handbuch der Java-Programmierung. Die HTML-Version kann man sich kostenlos runterladen.
Dort wird sehr gut drin beschrieben welche Arten von Datenbanktreibern es gibt. Treiber die selbst komplet in Java realisiert sind brauchen natürlich keine ODBC-Bridge sondern verwenden die Java-eigene JDBC-Connection.
Der JDBC-Treiber für mySQL ist zum Beispiel komplett in Java geschrieben und kann plattforumunabhängig verwendet werden und direkt der Applikation beiliegen.

ODBC hat nichts mit Java zu tun, sondern kann von Java nur verwendet werden. Die ODBC-Schnittstelle muss im Betriebssystem eingestellt werden, somit ist dies auch manuel auf jedem Rechner eingestellt werden.

Schreib doch mal, was genau du vorhast und was für eine Datenbank du anbinden möchtest, vielleicht finden wir dann eine andere Möglichkeit.

Gruss
Sparrow
sparrow ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.07.2005, 13:05 Nach oben    #3
taskin73
Gast
 
Beiträge: n/a
Standard

Das ist eigendlich egal welchen datenbank ich nehme denk ich mal, hauptsache ich kann meine daten abspeichern und zweck mäßig abrufen.
Das Buch habe ich selber zuhause, ich kenne das aber ich muß zugeben ich habe in dem kapitel noch nicht rein geschaut werde es auch tun, manchmal ist es auch so mann versteht manche sachen nicht so richtig was der autor meint, da ist schon sehr hilfreich wenn mann hilfe von normalen menschen kriegt.
Wie geht das eigendlich mit mySql bei java, ich kenne es eigendlich recht gut mit php aber mit java habe ich es noch nie benutzt.

gruß Taskin
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.07.2005, 21:13 Nach oben    #4
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 575
Standard

Ok, wenn dir die Datenbank egal ist, dann empfehle ich dir HSQLDB ( http://hsqldb.sourceforge.net ).
Datenbankanbindungen sind unter Java immer gleich, egal welche Datenbank du verwendest. Du musst halt nur den entsprechenden Datenbanktreiber laden.
HSQLDB hat den Vorteil selbst völlig in Java geschrieben zu sein. Es ist aber nicht sehr sicher, da die Daten in lesbaren Dateien abgelegt werden, ich hoffe das ist kein Problem.
Ansonsten versteht HSQLDB den SQL-Syntax, zumindest die wichtigsten Befehle, und kann auch in einem Server-Mode arbeiten.
Ich empfehle dir zum üben einfach mal eine kleine Applikation zu versuchen. Ich habe mit einer CD-Datenbank angefangen. Nicht, dass sie jemand mal benutzt hätte, aber immerhin lernt man so eine Menge.
Da habe ich auch HSQLDB für verwendet, denn mit HSQLDB kann man leicht Datenbanken einrichten deren Dateien in einem bestimmten Verzeichnis gespeichert werden. Zwar ist die Datenbank dann nicht von mehreren Personen gleichzeitig benutzbar, aber zum ausprobieren reicht es allemal.

Hier jetzt ein wenig Code zu einer Datenbankanbindung.
Das ist ein Fast-Hack, also ich verwende hier keine explecite Fehlerbehandlung, verschiedene Sachen müssen in try-catch blöcken eingebettet werden und so weiter. Ich nehme an damit kennst du dich aus, deshalb nur mal eine kleine Übersicht.

PHP-Code:
// Zuerst müssen wir den Datenbanktreiber laden.
// In diesem Falle den Treiber für eine mySQL-Anbindung
Class.forName("com.mysql.jdbc.Driver");

// Dann legen wir das Connection Object für die Datenbank an
// Auch diese Zeile ist Abhängig von dem verwendeten Treiber / Datenbank
Connection con DriverManager.getConnection("jdbc:mysql://IPderDatenbak/Datenbank""SQLUser""SQLPasswort");

// So, das war der ganz Hokuspokus. Jetzt können wir wie
// folgt zugreifen:
// (wobei RS das Resultat enhällt. Anhand der API ist das ResultSet recht leicht zu verstehen. Ist wie eine Collection zu gebrauchtn)
Statement stmt con.createStatement();
ResultSet rs stmt.executeQuery("Dein SQL-Befehl für eine Abfrage");

// oder
// wobei zahl die anzahl der geädnerten datensätze enthällt
Statement stmt con.createStatement();
int zahl stmt.executeUpdate("Dein SQL-Befehl für eine Aktualisierung"); 

Hilft dir das schon etwas weiter?

Gruß
Sparrow
sparrow ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.07.2005, 23:37 Nach oben    #5
taskin73
Gast
 
Beiträge: n/a
Standard

Danke erstmal Sparrow,

du mußt mich mal ein bißchen über diesem hsqldb einweisen weil mein englisch nicht so gut ist.
1. Wie erstelle ich eine Tabelle mit den einträgen usw. oder wird es per code über java gemacht ?
2. Muß mann den Treiber wieder über den odcb hinzufügen oder erkennt er das wie bei deinem bsp. ?

Noch eine frage, wie wird das denn bei den ganz großen projekten gemacht, mit welchem datenbank arbeiten die wenn die anschließend ne setup exe erstellen und es palttform unabhängig vermarkten. Ich weiss das eigendlich java nicht für so was gedacht wurde(als exe datei) aber fals man das machen würde, was würde mann da nehmen.
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.07.2005, 22:24 Nach oben    #6
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 575
Standard

Also erstmal zu dieser ODBC Sache.
ODBC ist eine Datenbankschnitstelle (ich glaube übsprünglich von Microsoft), die es Programmen leicht machen soll verschiedenste Datenbanken zu konnektieren.
Als Beispiel kannst du eine MySQL-Datenbank unter ODBC einrichten, und brauchst dann nur von Access aus die ODBC-Schnittstelle zu verwenden und kannst auf die MySQL-Datenbank zugreifen.
ODBC gibt es natürlich auch unter Linux und sicher auch anderen Betriebssystemen, aber es ist eine Schnittstelle die absolut Betriebssystemunabhängig ist.

JDBC hingegen verfolgt den selben Gedanken, ist aber JAVA-spezifisch. Du brauchst theoretisch überhaupt kein ODBC um eine Datenbank zhu konnektieren. Sollte gar kein JDBC-Treiber existieren (so etwas soll vorkommen), dann gibt es immer noch die Möglichkeit via JDBC die ODBC-Schnittstelle zu verwenden.
Datenbankkonnektierung von Java immer per JDBC. Im Zweifelsfall gibt es halt einen JDBC-Connector der die ODBC-Schnittstelle verbindet.
Klingt ziemlich kompliziert, hast du es trotzdem verstanden?

Welche Datenbank du für ein großes Programm verwendest... hmmm... das ist nicht einfach so zu beantworten, es kommt halt immer darauf an was genau du für ein Projekt umsetzen willst. mySQL ist ja bekanntlich eine der meistbenutzen Datenbanken. Wenn du etwas machen willst, das du einfach ausliefern willst, und das Datenbanken lokal einrichtetn soll, dann sollltest du HSQLDB im Auge behalten.
Andererseits kannst du natürlich auch andere Datenbanken anbinden, zum Beispiel PostgreSQL, aber damit habe ich noch nie gearbeitet.

Als .exe Datei würde ich das Programm nicht ausliefern. Welchen Grund sollte das haben? Oder eine Setup.exe?

Zum Einbinden in das Projekt:
Hast du dich schonmal mit Bibliotheken beschäftigt? Weißt du wie man "externe jars" in das Project aufnimmt?

Das Anbinden funktioniert wie in meinem Beispiel. Du mußt natürlich den Classloader anweisen den HSQLDB-Datenbanktreiber zu laden und die Connection entsprechend ändern.
Hier ein kleines Beispiel:

PHP-Code:
// Laden des HSQLDB-Treibers aus der Bibliothek
Class.forName("org.hsqldb.jdbcDriver");

// und herstellen der Verbindung:
Connection con DriverManager.getConnection("jdbc:hsqldb:c:\datebank\datenbank",  "SA""");
// SA ist der Standartbenutzer den HSQLDB für die Datenbank verwendet
// Ich habe HSQLDB bisher nur so verwendet, also, dass er die Datenbank als Datei auf der Platte anlegt 
Tabellen in der Datenbank kannst du wie bei jeder SQL-Datenbank direkt über den Syntax anlegen. Schau mal nach dem SQL-Befehl "CREATE TABLE".

Falls du Windows verwendest und mit mySQL arbeiten möchtest, du aber keine Lust hast einen Server einzurichten: http://www.easyphp.org/
EasyPHP beinhaltet einen Apache-Webserver mit PHP-Extension und eine mySQL-Datenbank. Außerdem auch myPHPadmin, mit dem sich sehr einfach eine mySQL-Datenbank administrieren lässt (Tabellen anlegen, bearbeiten, Daenbanken anlegen, etc.)

Gruß
Sparrow
sparrow ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.07.2005, 14:09 Nach oben    #7
taskin73
Gast
 
Beiträge: n/a
Standard

Okey das mit ODBC ist klar.

Zur der exe sache, würde ich gerne einen setup.exe erstellen können aber es soll nicht so gut funktionieren habe ich in den foren gelesen.
Ich habe als editor den JBuilder X und da kann mann einen native ausführbare datei erstellen, da macht er auch einen jar datei und das läuft dann auch, mann muß dann auch nur einmal die datei erstellen und der aktualisiert dann jedesmal mit wenn mann änderungen in dem pgm macht, ist schon ne sehr gute sache von JBuilder. Ich weiss aber nicht wie mann das sonst macht und mit Bibliotheken habe ich nicht soviel ahnung.

PHP/MySQL Apache server habe ich schon bei mir installiert, vieleicht kennst du ja schon xampp da ist soweit alles konfuguriert was php und mysql angeht und in dem paket ist auch natürlich MyPhpAdmin drin, da kenn ich mich sehr gut aus weil ich arbeite auch noch parallel an der website von unserem Band.
Ich wollte dich eigentlich fragen ob hsqldb das gleiche wie MyPhpAdmin ist von der bedienung das mann die tabellen und die einträge so leicht wie bei MyPhpAdmin aintragen kann also hat das auch so eine bediener oberfläche wie MyPhpAdmin.
In Sql bin ich eigentlich fitt das anlegen von tabellen usw. ist kein problem, aber wenn das schon so leicht über einer bediener oberfläche wie bei MyPhpAdmin geht dann nutze ich das schon aus.

Noch eine persöhnliche Frage an dich woher kommst du aus Süd-Niedersachsen ?
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.07.2005, 17:07 Nach oben    #8
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 575
Standard

Also das mit der Setup-Datei würde ich vergessen. Ich weiß nämlich gerade nicht wo der Sinn liegen soll. Es sei denn du hast Angst, dass der Anwender die Java-Laufzeitumgebung nicht installiert hat. Aber das kann man sich ja mal eben schnell runterladen und liegt ja, wenn auch manchmal in seltsamen Varianten, den meisten Betriebssystem bei.
Erstell lieber am Ende aus deinem Programm eine .jar-Datei. Das ist ein Java Archiv, dass das gesamte Programm enthällt. Zusätzlich kannst du in dem Archiv eine Manifest-Datei anlegen, die automatisch mit angibt welche Klasse die Startklasse ist, die die Main-Methode enthällt.
Bei Windows braucht man dann nur noch (wenn ich mich recht erinnere) einen Doppelklick auf die die .jar machen um das Programm auszuführen. Unter anderen Betriebssystemen, oder wenn das nicht funktioniert, reicht ein Aufruf der .jar wie folgt:
java -jar deinArchiv.jar

Öffne doch mal die .jar die JBuilder erstellt mit einem Archivierungsprogramm (WinZip, WinRar), dann wirst du sehen, dass es tatsächlich nur Archive sind. Und sicherlich legt JBuolder auch gleich eine Manifestdatei an, die müßte in einem Unterverzeichnis der Jar liegen, ich glaube das heißt sogar MANIFEST.


So, nun zu den Bibliotheken.
Unter Java ist es ziemlich einfach Programmteile mit einzubauen die man selbst nicht geschrieben hat. Etwa einen Datenbanktreiber, eine GameEngine oder einen komfortablen XML-Parser.
Diese Bibliotheken kommen meist auch in .jars daher.
Leider kenne ich mich mit den JBuilder nicht aus, aber such doch mal nach einem Programmpunkt "Bibliothek hinzufügen" oder "Externe Jar hinzufügen".
Der Punkt ist, dass die Java-VM die in den jars enthaltenen Klassen während der Laufzeit finden muss damit er sie weiss was zu tun ist.
Bei der Auslieferung des Programms hast du 3 Möglichkeiten.

Möglichkeit 1:
Programm und Bibliothek trennen.
Grundsätzlich verpacke ich meine Programme bei Auslieferung immer in eine .jar mit Manifestdatei, damit es der Anwender recht einfach hat.
Nun gibt es die Möglichkeit aus deinem Programm eine .jar zu machen und den Anwender anzuweisen alle benötigten .jars (also die Bibliotheken) in das selbe Verzeichnis zu legen. Dann gibst du in der Manifest-Datei an welche Bibliotheken er zur Laufzeit hinzuziehen soll. Das sollte gehen.

Möglichkeit Nr. 2:
Du nimmst deine Class-Dateien die der Compiler erstellt hat, packst sie in ein Verzeichnis, entpackst die Bibliotheken ebenfalls dort hinein (ACHTUNG! Verzeichnisstruktur beachten!) und packst dann das ganze Verzeichnis in eine .jar.
Die Java.VM sucht immer im aktuellen Ordner bzw. in der aktuellen Jar nach den Klassen, somit wird sie dort finden.

Du kannst die Bibliotheken aber auch jederzeit über den Klassenpfad einbinden:
java -cp .;c:\meineExterneJar.jar meinProgramm.class


Zu der Oberfläche von HSQLDB.
Also genau so etwas wie PHPmyAdmin gibt es dort nicht, aber ich erinnere mich das irgendein Programm beiliegt.
Such mal in dem was du rintergeladen hast nach einer Batch-Datei. Entweder runManager.bat oder runUtil.bat im Unterverzeichnis bin wenn ich mich richtig erinnere.
Das ist nich zu vergleichen mit PHPmyAdmin, kann dir aber Aufschluß darüber geben welche Tabellen vorhanden sind und direkt SQL-Kommandos an die Datenbank abgeben.


Ich komme aus der Nähe von Göttingen, ziemlich genau auf der Hälfte der Strecke Göttingen und Hannover. Beim "Ur-Kilometer" *g* Also "Echte 1000 Meter".
sparrow ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Entwurfsproblem: Aus Widgets in Datenbank schreiben? Basti PHP-Programmierung 3 29.03.2007 13:13
Problem bei Verarbeitung von Templates (Eigene Klassen) dago PHP-Programmierung 21 31.08.2006 16:02
performanceprobleme wegen zu großer datenbank? *the_rob* PHP-Programmierung 31 26.06.2006 17:02
welche Datenbank - Datentyp für Dateien risa Datenbanken 5 01.12.2005 15:17
Datenbank und Sicherheit sparrow Datenbanken 23 05.11.2005 17:45


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:29 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44