# JDBC - Datenbankabfrage Webserver



## Yab_86 (24. Apr 2012)

Hallo Cracks

Ich bin ein Newby auf dem Gebiet Java und brauche entsprechend viel Zeit bis ich einmal etwas auf die Reihe kriege. Seit Stunden versuche ich eine ganz normale SQL-Anfrage im Netbeans an meinen Webserver zu senden:


```
package server;

import java.sql.*;

public class DMLBeispiel {

  public static void main(String args[]) {
 
    try {

 //     String pw = buffer.readLine();	

      // mySQL Anbindung
      Class.forName("com.mysql.jdbc.Driver");

      //Passwort wird über Konsole eingegeben
      Connection connection = DriverManager.getConnection(
          "jdbc:mysql://theta.ibone.ch/dbname?user=username&password=meinpasswort");


      Statement stmt = connection.createStatement();

      String query = "SELECT user FROM highscore;";

      ResultSet rs = stmt.executeQuery(query);

      ResultSetMetaData rsmd = rs.getMetaData();

      int noColumns = rsmd.getColumnCount();
      for (int i = 1; i <= noColumns; i++){
        System.out.print(rsmd.getColumnLabel(i) + "\t");
      }
      System.out.println();

      while (rs.next()) {
        for (int i = 1; i <= noColumns; i++){
          System.out.print( rs.getObject(i) + "\t");
        }
        System.out.println();
      }

      stmt.close();

      if (connection != null)
        connection.close();

    }
        
    catch (Exception ex) {
 	System.err.println("Error" + ex.getMessage());
    }

  }
}
```

Leider ohne Erfolg! :-( ich erhalte immer diese Fehlermeldung:
-----------------------------------------

init:
Deleting: C:\Users\Documents\NetBeansProjects\dummy\build\built-jar.properties
deps-jar:
Updating property file: C:\Users\Documents\NetBeansProjects\dummy\build\built-jar.properties
Compiling 1 source file to C:\Users\Documents\NetBeansProjects\dummy\build\classes
C:\Users\Documents\NetBeansProjects\dummy\src\server\DMLBeispiel.java:25: cannot find symbol
symbol  : class Connection
location: class server.DMLBeispiel
      Connection connection = DriverManager.getConnection(
C:\Users\Documents\NetBeansProjects\dummy\src\server\DMLBeispiel.java:25: cannot find symbol
symbol  : variable DriverManager
location: class server.DMLBeispiel
      Connection connection = DriverManager.getConnection(
C:\Users\Documents\NetBeansProjects\dummy\src\server\DMLBeispiel.java:29: cannot find symbol
symbol  : class Statement
location: class server.DMLBeispiel
      Statement stmt = connection.createStatement();
C:\Users\Documents\NetBeansProjects\dummy\src\server\DMLBeispiel.java:33: cannot find symbol
symbol  : class ResultSet
location: class server.DMLBeispiel
      ResultSet rs = stmt.executeQuery(query);
C:\Users\Documents\NetBeansProjects\dummy\src\server\DMLBeispiel.java:35: cannot find symbol
symbol  : class ResultSetMetaData
location: class server.DMLBeispiel
      ResultSetMetaData rsmd = rs.getMetaData();
5 errors
C:\Users\Documents\NetBeansProjects\dummy\nbproject\build-impl.xml:629: The following error occurred while executing this line:
C:\Users\Documents\NetBeansProjects\dummy\nbproject\build-impl.xml:247: Compile failed; see the compiler error output for details.
ERSTELLEN FEHLGESCHLAGEN (Gesamtzeit: 0 Minuten 1 Sekunde
-----------------------------------------

Was mache ich falsch? Habe schon verschiedene Beispiele welche ich gefunden habe angewendet. Mein Beispiel nach bestem Wissen und Gewissen abgeändert aber immer ohne Erfolg.

Wäre echt genial wenn mir jemand helfen könnte.

Liebe Grüsse,
Yab


----------



## Final_Striker (24. Apr 2012)

```
Connection connection = DriverManager.getConnection(           
"jdbc:mysql://theta.ibone.ch/dbname?user=username&password=meinpasswort");
```

Das geht so nicht, das muss schon in einer Zeile stehen.


----------



## irgendjemand (24. Apr 2012)

tja ... da ist wohl irgendwas beim import von java.sql.* schief gelaufen ... zumindest laut compiler ...

was ich aber auch anmerken möchte : ich denke NICHT das deine datenbank entsprechend konfiguriert ist um dierekte anfragen von außen zuzulassen ... falls doch würde ich das auf jeden fall ändern ...

*wobei mir der server eh ziemlich "schlecht" aussieht ... Confixx ... wer bitte nutzt das denn heute noch ?
vor allem das es dann auch noch von außen erreichbar ist ... aua ... da würde ich schnell wieder wegrennen ...

[EDIT]





Final_Striker hat gesagt.:


> ```
> Connection connection = DriverManager.getConnection(
> "jdbc:mysql://theta.ibone.ch/dbname?user=username&password=meinpasswort");
> ```
> ...


das glaub ich aber jetzt mal nicht ...
zu mal du auch garnicht auf den compiler output geachtet hast ...[/EDIT]


----------



## Yab_86 (25. Apr 2012)

Hallo zusammen

Vielen Dank für euer Feedback!!!  

Also, auch wenn ich es mit localhost probiere bekomme ich die gleichen Fehlermeldungen?! :-((


```
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/highscore?user=root&password=");
```

Wie gesagt - für mich ist Java noch relativ Neuland! :-(

Lg, Yab

PS. @irgendjemand: Das mit dem Server (von aussen erreichbar) werde ich mal abklären...vielen Dank für den Hinweis!


----------



## irgendjemand (25. Apr 2012)

mal davon abgesehen das es auch noch diesen weg gibt DriverManager.getConnection(String, String, String) sagt der compiler output das er probleme mit den klassen des java.sql.* packages hat ...

wie bereits gesagt : irgendwas läuft da beim import ziemlich schief ... denn ich kann deine klasse problemlos übersetzen *natürlich nicht ausführen da meine datenbank anders läuft* ... bekomme also KEINEN compiler output ...

würde da mal deine IDE checken ...


----------

