noname: JDBC funktioniert nicht korrekt

Hallo Forum.

Folgender Code wirft eine Exception:

  
  
import java.sql.*; // Import der DB Klassen  
import java.util.*;  
  
public class main_jdbc  
	{  
	public static void main(String[] args)  
		throws Exception  
	{  
		try  
		{  
			Class.forName( "com.mysql.jdbc.Driver" );  
			Properties p = new Properties();  
			  
			Connection c = DriverManager.getConnection("jdbc:mysql://localhost/test", "user", "pass");  
			  
			Statement s = c.createStatement();  
			ResultSet r = s.executeQuery("SELECT * FROM tel;");  
			  
			while(r.next())  
			{  
				System.out.println(r.getString("name")+" "+r.getString("nr"));  
			}  
		}  
		catch(Exception e)  
		{  
			e.printStackTrace();  
		}  
	}  
  
}  
  

Die Exception lautet:

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '????????????????' at line 1

Ich werde daraus nicht schlau. Freue mich über jeden Hinweis!

  1. Hi noname!

      	`ResultSet r = s.executeQuery("SELECT * FROM tel;");`{:.language-java}  
    

    ^
                                                     Vielleicht ist da das Semikolon zu viel?

    Hab nicht wirklich Ahnung von Java, aber...

    Die Funktion gibt nur ein einziges Resultset zurück, erfordert also auch eine entsprechende Abfrage, und möchte deshalb das Semikolon nicht haben.
    Wie gesagt, nur ein Schuss ins Blaue...

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
    1. »» ResultSet r = s.executeQuery("SELECT * FROM tel;");
                                                       ^
                                                       Vielleicht ist da das Semikolon zu viel?

      Danke dir für die Anmerkung. Habe ich schon versucht. Auch reine Kleinschreibung bringt mich nicht weiter. Entweder wird der Query "im Treiber verfälscht", oder aber die Fehlermeldung ist ganz falsch und die Ursache anderwo zu suchen.

  2. Hallo.

    Offenbar hängt der Fehler mit der JVM zusammen. Ich verwende hier die java-gcj Laufzeitumgebung. Mit der openjdk-6-jre oder sun-java6-jre läuft der Code.

    ABER: Der Democode (s.o.) benötigt mehrere Minuten, sowohl mit der openjdk-6-jre als auch mit Suns JRE.??

    Hilfe, Tipps und Mutmaßungen willkommen!

    Schönes Wochenende allen.