JDBC funktioniert nicht korrekt
noname
- java
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!
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
»»
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.
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.