Java --> MySQL

Der MySQL Datenbank-Server für Internet- und Intranet-Lösungen.

Java --> MySQL

Beitragvon Diokhan » Mo 21 Feb, 2005 16:00

Hi ich habe hier mal wieder ein Problem:

und Zwar muss ich mich auf eine MySQL über Java verbinden dafür habe ich von meinem Lehrer ein Java Beispiel erhalten was leider eine import anweisung aufweist die bei mir nicht möglich ist

Code: Alles auswählen
import com.sybase.jdbcx.*;


das ist bei mir nicht installiert nun ist meine Frage ob der angehängte Code auch ohne diese Zeile (eventuell leicht verändert) auch noch Funktioniert oder wenn das nicht möglich ist wo ich diese datei die sich in dem pfad verbergen sollte finde.

ich hoffe auf baldige und kompetente hilfe ... mfg Diokhan

PS ich nutze Xammp als MySQL-Server
Dateianhänge
JDBCTest.rar
(1.07 KiB) 450-mal heruntergeladen
Diokhan
Junior Board-Mitglied
Junior Board-Mitglied
 
Beiträge: 75
Registriert: Fr 07 Jan, 2005 16:18
Wohnort: Klagenfurt

Beitragvon mnc » Mo 21 Feb, 2005 18:27

hmm braucht man fĂĽr dieses vorhaben nicht einen jdbc connector?
kuck mal hier:
http://dev.mysql.com/downloads/connector/j/3.1.html
mnc
Board-Mitglied
Board-Mitglied
 
Beiträge: 223
Registriert: Mi 19 Mai, 2004 18:27

Beitragvon Diokhan » Di 22 Feb, 2005 11:23

hmm gut das hab ich mal installiert (hoffentlich richtig) auf jedenfall habe ich die imports mal ein bisschen verändert und es geht soweit kompileren ...

hab einfach mal ganz viele imports reingetan

Code: Alles auswählen
import java.io.*;
import java.util.*;
import javax.comm.*;
import java.sql.*;
import java.lang.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.lang.String.*;


leider kann ich mich nicht mit der DB auf Xammp verbinden

der Codeausschnitt sieht folgendermaĂźen aus

conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bla");

es folgt lediglich eine Exception "Bad Handshake" habe ich den Treiber falsch installiert oder kommt Java mit Xammp nicht klar?
Diokhan
Junior Board-Mitglied
Junior Board-Mitglied
 
Beiträge: 75
Registriert: Fr 07 Jan, 2005 16:18
Wohnort: Klagenfurt

Beitragvon mnc » Di 22 Feb, 2005 11:47

falls "bla" dein datenbankname ist sollt es hinhaun, alternativ mal 127.0.0.1 statt localhost probieren, hat mich auch schon oft stunden gekostet...

bin leider nicht so der java insider drum sind meine infos leider etwas spärlich ich weiss.. :(
mnc
Board-Mitglied
Board-Mitglied
 
Beiträge: 223
Registriert: Mi 19 Mai, 2004 18:27

Beitragvon kirschi » Di 22 Feb, 2005 13:17

Hab so ein Projekt schon mal gemacht, ich glaub auch ĂĽber den jdbc connector mySQL und Xampp, i guck nach wenn i am Nachmittag daheim bin und sag Bescheid.
Woher soll ich wissen was ich denke, bevor ich höre, was ich sage?
Bild
kirschi
Board-Mitglied
Board-Mitglied
 
Beiträge: 129
Registriert: Fr 11 Jul, 2003 14:45
Wohnort: Graz

Beitragvon Diokhan » Di 22 Feb, 2005 13:44

das wäre sehr nett ja ...

EDIT: Kann es daran liegen das mein Xammp verzeichniss nich gleich auf C: ist sondern in D:/.../Xammp ??? (wäre nicht das erste mal)

EDIT2: oder vlt. weil ich in phpmyadmin ein passwort vergeben hab ... wenn das der fall sein könnte wie kann ich das passwort zurücksetzen?

EDIT3:

So ok ich hab jetzt die parameter Benutzername und Passwort mitĂĽbergeben und es folgen folgende Exceptions:
Code: Alles auswählen
Starte C:\Dokumente und Einstellungen\Diokhan\Eigene Dateien\Schule\Miniprojekt\Sourcecodes\Fremde\JDBCTest.java
Starting...
getConnection(): java.sql.SQLException: Communication link failure: java.io.IOException, underlying cause: Unexpected end of input stream

** BEGIN NESTED EXCEPTION **

java.io.IOException
MESSAGE: Unexpected end of input stream

STACKTRACE:

java.io.IOException: Unexpected end of input stream
at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:1096)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:626)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1562)
at com.mysql.jdbc.Connection.<init>(Connection.java:491)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at JDBCTest.main(JDBCTest.java:67)


** END NESTED EXCEPTION **





Hier ein Quellcodeauszug:
Code: Alles auswählen
      try
    {
      // Verbindung herstellen
      //conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test");
      conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/bla","root","xxx");
      // Neues Statement erzeugen, wird mehrfach verwendet
      upd = conn.createStatement();

      // Tabelle anlegen
      int res = upd.executeUpdate("create table test01(col1 int primary key,col2 char(20))");
      System.out.println("RetCode von <create table>: " + res);
     

      // Daten in die Tabelle schreiben
      res = upd.executeUpdate("insert into test01 values(1,'hallo')");
      System.out.println("RetCode von <insert>: " + res);
      res = upd.executeUpdate("insert into test01 values(2,'12345678901234567890zulang')");
      System.out.println("RetCode von <insert>: " + res);

      // Daten aus der Tabelle lesen
      ResultSet rset = upd.executeQuery("select * from test01");
      while (rset.next() == true)
      {
        System.out.println("col1: " + rset.getInt("col1") + " col2: " + rset.getString("col2"));
      }

      // Tabelle wieder löschen
      res = upd.executeUpdate("drop table test01");
      System.out.println("RetCode von <drop table>: " + res);

    }
    catch (SQLException e)
    {
      System.out.print("getConnection(): ");
      System.out.println(e.toString());
      System.exit(1);
    }
Zuletzt geändert von Diokhan am Di 22 Feb, 2005 18:30, insgesamt 1-mal geändert.
Diokhan
Junior Board-Mitglied
Junior Board-Mitglied
 
Beiträge: 75
Registriert: Fr 07 Jan, 2005 16:18
Wohnort: Klagenfurt

Beitragvon kirschi » Di 22 Feb, 2005 16:27

hmm... tjo, kann bei dir keinen Fehler entdecken...
Meins krieg ich z.Z. zwar noch net zum laufen, bei mir scheint er die classes net anzunehmen, aber es is scho mal gangen, i schwörs :-)
i bastel no bissl dran rum, vielleicht find i ja was...

Code: Alles auswählen
    try
    {
      Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/videothek", "student", "student");

     String query = "SELECT KVorname, KNachname, count(*) as Anzahl FROM transaktionen, kunden " +
                "WHERE transaktionen.KNummer = kunden.KNummer AND transaktionen.TTyp = 'Ausleihe' " +
                "GROUP BY transaktionen.KNummer HAVING Anzahl >= 1 ORDER BY Anzahl;";

      Statement statement = connection.createStatement();
      ResultSet result = statement.executeQuery(query);
...
Woher soll ich wissen was ich denke, bevor ich höre, was ich sage?
Bild
kirschi
Board-Mitglied
Board-Mitglied
 
Beiträge: 129
Registriert: Fr 11 Jul, 2003 14:45
Wohnort: Graz

Beitragvon kirschi » Di 22 Feb, 2005 17:15

ha, so jetz hab i's...
also i hab auch des xampp, des tomcat-addon hab i no braucht, den jdbc connector brauchst, und
apache ecs
das alles passend ablegen (bzw. CLASSPATH setzen) und es sollt scho alles hinhaun...?

[edit]I muss dazu sagen, wirklich gut kenn i mi net aus mit dem ganzen, damals hamma des in einer gruppe runterprogrammiert, gfunzt hat's, jetz hab i's erstaunlicherweise wieder zum laufen bracht ;-) also falls unnötige kommentare von mir dabei sind, bitte net bös sein, i weiß es net besser *g*[/edit]
Woher soll ich wissen was ich denke, bevor ich höre, was ich sage?
Bild
kirschi
Board-Mitglied
Board-Mitglied
 
Beiträge: 129
Registriert: Fr 11 Jul, 2003 14:45
Wohnort: Graz

Beitragvon Diokhan » Di 22 Feb, 2005 18:28

kirschi hat geschrieben:ha, so jetz hab i's...
also i hab auch des xampp, des tomcat-addon hab i no braucht, den jdbc connector brauchst, und
apache ecs
das alles passend ablegen (bzw. CLASSPATH setzen) und es sollt scho alles hinhaun...?

[edit]I muss dazu sagen, wirklich gut kenn i mi net aus mit dem ganzen, damals hamma des in einer gruppe runterprogrammiert, gfunzt hat's, jetz hab i's erstaunlicherweise wieder zum laufen bracht ;-) also falls unnötige kommentare von mir dabei sind, bitte net bös sein, i weiß es net besser *g*[/edit]


hmm was meinst du mit classpath setzen?
Diokhan
Junior Board-Mitglied
Junior Board-Mitglied
 
Beiträge: 75
Registriert: Fr 07 Jan, 2005 16:18
Wohnort: Klagenfurt

Beitragvon kirschi » Di 22 Feb, 2005 18:59

des ecs-1.4.2.jar musst passend ablegen
(im java-installdir/jre*/lib/ext/)
bei mir: C:\Programme\Java\jre1.5.0_01\lib\ext
oder irgendwohin kopieren und die CLASSPATH sys-variable anlegen und den abs. pfad zum jar dort drin angeben
Woher soll ich wissen was ich denke, bevor ich höre, was ich sage?
Bild
kirschi
Board-Mitglied
Board-Mitglied
 
Beiträge: 129
Registriert: Fr 11 Jul, 2003 14:45
Wohnort: Graz

Beitragvon Diokhan » Di 22 Feb, 2005 20:14

Achso gut ... werd mich morgen nochmal dem widmen
Diokhan
Junior Board-Mitglied
Junior Board-Mitglied
 
Beiträge: 75
Registriert: Fr 07 Jan, 2005 16:18
Wohnort: Klagenfurt

Beitragvon kirschi » Fr 25 Feb, 2005 12:26

Wie schauts aus, gibts was Neues?
Hast's hinbekommen?
Woher soll ich wissen was ich denke, bevor ich höre, was ich sage?
Bild
kirschi
Board-Mitglied
Board-Mitglied
 
Beiträge: 129
Registriert: Fr 11 Jul, 2003 14:45
Wohnort: Graz

Beitragvon Diokhan » Fr 25 Feb, 2005 16:53

ähm die links die du mir per pn geschickt hast gingen nicht ... sind die links noch gültig?
Diokhan
Junior Board-Mitglied
Junior Board-Mitglied
 
Beiträge: 75
Registriert: Fr 07 Jan, 2005 16:18
Wohnort: Klagenfurt

Beitragvon kirschi » Fr 25 Feb, 2005 17:14

jo, sind (wieder) gĂĽltig *g*
Woher soll ich wissen was ich denke, bevor ich höre, was ich sage?
Bild
kirschi
Board-Mitglied
Board-Mitglied
 
Beiträge: 129
Registriert: Fr 11 Jul, 2003 14:45
Wohnort: Graz

Beitragvon Diokhan » Fr 25 Feb, 2005 17:48

danke habs mir jetzt mal angesehen und im quellcode habe ich keine größeren abweichungen von meinem für die verbindung zur DB verantwortlichen stelle erkannt ...

kann es sein das die datei com.mysql.jdbc.Driver fehlerhaft ist?

EDIT: ich habe mir jetzt mal die com.mysql.jdbc dateien etwas genauer angesehen und da war zu erkennen das die exception unespected end of stream dann ausgegeben wird wenn die packetlength -65793 beträgt --- das legt für mich den fehler nahe das etwas mit der übertragung der daten von xampp auf java nicht stimmt sprich dem jdbc driver ... kann das sein oder liege ich komplett falsch
Diokhan
Junior Board-Mitglied
Junior Board-Mitglied
 
Beiträge: 75
Registriert: Fr 07 Jan, 2005 16:18
Wohnort: Klagenfurt

Nächste

ZurĂĽck zu MySQL

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast