![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Gast
Beiträge: n/a
|
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 ! |
|
| | Nach oben #2 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 581
|
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 |
| | |
| | Nach oben #3 |
| Gast
Beiträge: n/a
|
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 |
|
| | Nach oben #4 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 581
|
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: Hilft dir das schon etwas weiter? Gruß Sparrow |
| | |
| | Nach oben #5 |
| Gast
Beiträge: n/a
|
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. |
|
| | Nach oben #6 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 581
|
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: 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 |
| | |
| | Nach oben #7 |
| Gast
Beiträge: n/a
|
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 ? |
|
| | Nach oben #8 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 581
|
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". |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ä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 |