JDBC wie ermittle ich den Driver?

dvdlly

Aktives Mitglied
Hi,

Ich will einen Webserver basteln und brauche dafür eine JDBC Connection (ich benutze mysql als DB). Ich weiß, dass der Driver einmalig registriert werden muss, allerdings weiß ich nicht mehr welche driver version ich benutze. Welche Möglichkeiten gibt es herauszufinden, welchen Driver man benutzt?
EDIT: Ich habe schon auf SO und anderen foren gesucht, aber die Antworten dort haben nicht funktioniert.
Danke!
 

Anhänge

  • Server.java
    1,7 KB · Aufrufe: 0
Zuletzt bearbeitet:
K

kneitzel

Gast
Als erstes eine Bitte: Den Code immer in Code Tags und nicht als Datei-Anhang posten! Das macht es sonst unnötig schwieriger, den Code zu sehen.

Generell ist meine Empfehlung: RTFM - Also greif auf die original Doku zu! Die Dokumentation findet sich z.B. für Dich unter https://dev.mysql.com/doc/connector-j/8.0/en/

Zu Deiner Frage: Wie bekommt man die Driver-Klasse raus?
- Möglichkeit 1: Dokumentation (Die sagt einem schon, was getan werden muss, interessanter Weise wird da in Kapitel 7.1 auch noch das Class.forName aufgezeigt.)
- Möglichkeit 2: Die jar Datei ansehen (ist ein ZIP File also z.B. in WinZip öffnen oder umbenennen oder ...). Dann META-INF/services/java.sql.Driver Datei ansehen. Da findet sich dann jetzt z.B. com.mysql.cj.jdbc.Driver drin.

Kurze Erläuterung bezüglich der services in einem Jar:
Die Driver Klasse muss man nicht mehr von Hand laden. Das stammt von früher und ist nun wirklich schon lange Vergangenheit. Das Class.forName("com.mysql.jdbc.Driver"); kann also ganz weg! Und das hat auch keine Verbindung aufgebaut wie es Deine Aussage angibt ("connection to the server was established." - wie denn auch, denn dein Server ist ja nie angegeben worden ...) sondern es ist nur die Klasse geladen worden, die sich dabei dann auch im DriverManager registriert hat.

Durch diese services kann der DriverManager die richtige Klasse finden, wenn der Connection String angegeben wurde. Denn der sagt ganz klar, was für ein Treiber benötigt wird (nach dem jdbc: kommt der String, der das festlegt).

Daher solle es problemlos funktionieren, wenn Du den Class.forName Part ganz weglässt.
 

dvdlly

Aktives Mitglied
Danke für deine ausführliche Antwort!
Das "connection to the server was established" gebe ich aus, um zu signalisieren, dass ein socket erstellt wurde, hat nichts mit der DB zu tun (und war auch in erster linie zum debuggen gedacht) :)
Um eine connection herzustellen habe ich folgendes probiert:
Java:
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/messages","******","********");
Java:
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/","******","********");
allerdings wirft das eine Exception "java.net.BindException: Address already in use (Bind failed)" weißt du warum? Im internet finden sich verschiedene Anleitungen dazu und die stimmen nicht überein...
 
K

kneitzel

Gast
Das "connection to the server was established" gebe ich aus, um zu signalisieren, dass ein socket erstellt wurde,
Ok, das macht Sinn, das bezog sich somit noch mit auf das socket.accept(); - das hatte ich so nicht gut genug betrachtet.

allerdings wirft das eine Exception "java.net.BindException: Address already in use (Bind failed)" weißt du warum? Im internet finden sich verschiedene Anleitungen dazu und die stimmen nicht überein...
Kannst Du da bitte einmal den genauen StackTrace zeigen? Eine BindException kann durch den DriverManager eigentlich nicht geworfen werden. Da kann eigentlich nur eine SQLException und eine TimeoutException geworfen werden.
Daher wäre meine Vermutung, dass diese Exception bereits in der Zeile ServerSocket socket = new ServerSocket(this.getPort()); geworfen wird. Die Exception besagt, dass die Portnummer, die Du da angegeben hast, bereits belegt ist. Das kann der Fall sein, wenn eine andere Applikation den Port bereits genutzt oder auch, wenn Du die Applikation zwei mal gestartet hast versehentlich.
 

dvdlly

Aktives Mitglied
Hey,
Eine BindException kann durch den DriverManager eigentlich nicht geworfen werden.
Das habe ich mir auch gedacht, habe die Zeile einmal auskommentiert und dann lief alles wie gewollt, im StackTrace steht es wäre Zeile 23 also so wie du gesagt hast die Socket Zeile, aber wie gesagt wenn ich die
Java:
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/messages","******","********");
Zeile auskommentiere gibts keine Probleme.
Der Stacktrace lautet:
Java:
java.net.BindException: Address already in use (Bind failed)
    at java.base/java.net.PlainSocketImpl.socketBind(Native Method)
    at java.base/java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:436)
    at java.base/java.net.ServerSocket.bind(ServerSocket.java:395)
    at java.base/java.net.ServerSocket.<init>(ServerSocket.java:257)
    at java.base/java.net.ServerSocket.<init>(ServerSocket.java:149)
    at Source.Server.run(Server.java:23)
    at java.base/java.lang.Thread.run(Thread.java:829)
 
K

kneitzel

Gast
Ich weiss nicht genau, was du wie Testest, aber der Stacktrace besagt ja, dass es schon an dem Konstruktor von ServerSocket geworfen wird, d.h. er kommt nicht zu der Zeile mit dem DriverManager.

Daher würde ich jetzt raten, dass es noch eine Instanz deines Programmes ist, der den Port belegt und das auskommentieren der Zeile war nur erfolgreich weil du dabei andere noch laufende Instanzen beendet hast... aber das ist nur geraten. Ohne Details kann ich da nichts mit Gewissheit sagen.
 

dvdlly

Aktives Mitglied
Ich gebe dir mal die Klassen, wäre echt nett wenn du mal drüber siehst!

Java:
package Source;


import java.net.*;
import java.io.*;

class Controller{

    public static void main(String[] args){

        new Thread (new Server( 6666 )).start();
        new Thread ( new Client( 6666, "localhost")).start();
        
    }
}

Java:
package Source;
import java.io.*; 
import java.net.*; 

class Client implements Runnable{

    private int port;
    private String ip;

    public Client(int port, String ip){
        this.port = port;
        this.ip = ip;
    }

    @Override
    public void run(){
        try {
            Socket socket = new Socket( this.ip, this.port );
            PrintStream out = new PrintStream( socket.getOutputStream() );
            BufferedReader in = new BufferedReader( new InputStreamReader( socket.getInputStream() ) );

            BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

            //out.println( "hello cologne!" );
            // Read data from the server until we finish reading the document
            String line = in.readLine();

            while( line != null )
            {
                System.out.println( line );
                out.println(reader.readLine());
                line = in.readLine();
            }

            // Close our streams
            in.close();
            out.close();
            socket.close();
        }
        catch (Exception e){
            e.printStackTrace();
        }
    }
}
Java:
package Source;
import java.io.*; 
import java.net.*;
import java.sql.*; 

public class Server implements Runnable{
    private int port;

    public Server(int port){
        this.port = port;
    }

    public int getPort(){
        return this.port;
    }

    @Override
    public void run(){
        boolean isRunning = true;

        while(isRunning){
            try {
                ServerSocket socket = new ServerSocket(this.getPort());
                System.out.println("Listening on port " + this.getPort());
                Socket connection = socket.accept();

                BufferedReader in = new BufferedReader( new InputStreamReader( connection.getInputStream() ) );
                PrintWriter out = new PrintWriter( connection.getOutputStream() );

                //register driver
                //TODO: IMPLEMENT
                Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/messages","******","********");
                out.println("connection to the server was established.");
                out.flush();
                String line = in.readLine();

                while( line != null && line.length() > 0 )
                    {
                        //establish connection
                        //Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/messages","david","21da04ma");
                        if (line.equals("quit")){
                            break;
                        }
                        out.println( "Echo: " + line );
                        out.flush();
                        line = in.readLine();
                    }

                // Close our connection
                in.close();
                out.close();
                socket.close();

                System.out.println( "Connection closed" );
                isRunning = false;

            }
            catch(Exception e){
                e.printStackTrace();
            }
        }
    }
}
 

Jw456

Top Contributor
Hallo stelle sicher das der Server Thread auch läuft und der Server auch avtiv ist wenn der Client verbinden will.

Wiso überhaupt beides in einer App?
 
K

kneitzel

Gast
Also vom Prinzip her sieht alles ok aus. Du hast nur eben ein Problem:

Das Try / Catch ist innerhalb der Schleife. Du erstellst also einen Server Socket u.s.w. - dann kommst Du zu dem Code für die Datenbank und da kommt eine Exception. Die wird ausgegeben. Dann geht die Schleife von Anfang an los und der Server Socket kann nicht erstellt werden - ist ja schon vorhanden.... und das in einer Endlosschleife, weshalb Du die eigentliche Fehlermeldung wohl nicht gesehen hast.

Also schau einmal, was die erste Fehlermeldung ist.

Und dann solltest Du den Code generell besser aufteilen und besser strukturieren und nicht alles in eine Methode packen. Datenbank und so gehört separat. Der Server-Thread sollte nur dem ServerSocket haben und bei Verbindungen für jeden Client, der sich verbindet, einen neuen Thread machen (Das wäre ein erster, einfacher Ansatz. Ist aber sehr limitiert - statt dessen wird heutzutage eigentlich async gearbeitet so dass da nicht viele Threads entstehen. Aber das kann man sich später ansehen!)

Und wie schon angedeutet von @Jw456: Ich würde auch sicher stellen, dass der Server wirklich hört, ehe ich den Client starte. Da wäre also prinzipiell denkbar, dass der Server Thread startet, dann startet der Client Thread und kommt zum Verbindungsaufbau, ehe der Server seinen ServerSocket starten konnte (Unwahrscheinlich aber durchaus denkbar).
 

Jw456

Top Contributor
Auch würde ich conektion zu DB schon vor dem verbinden des users mit dem Server machen. Nicht erst wenn das socket.accept() verbindet.

Schaue dir mal im Netzt an wie ein Thread sicherer tcp socket Server aufgebaut werden sollte.

Habe jetzt leider keinen link an der Hand
.
 

dvdlly

Aktives Mitglied
Danke für eure Antworten, es wird die folgende Exception geworfen:
Java:
Listening on port 6666
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/messages
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
    at Source.Server.run(Server.java:33)
    at java.base/java.lang.Thread.run(Thread.java:829)
Ich denke mal es liegt daran, dass der driver url string falsch ist. Ich habe den Aufbau allerdings aus diversen Tutorien aus dem Internet und verschiedene ausprobiert. Noch eine Frage - wenn ich die Code Zeile
Java:
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/messages","*****","********");
Als erstes in die While Schleife schreibe, so wie @Jw456 gesagt hat, dann kommt
Java:
java.net.ConnectException: Connection refused (Connection refused)
    at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
    at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
    at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
    at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.base/java.net.Socket.connect(Socket.java:609)
    at java.base/java.net.Socket.connect(Socket.java:558)
    at java.base/java.net.Socket.<init>(Socket.java:454)
    at java.base/java.net.Socket.<init>(Socket.java:231)
    at Source.Client.run(Client.java:18)
    at java.base/java.lang.Thread.run(Thread.java:829)
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/messages
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
    at Source.Server.run(Server.java:23)
    at java.base/java.lang.Thread.run(Thread.java:829)
Auch das verstehe ich nicht, denn müsste nicht als erstes wieder eine sql Exception kommen?
Edit: nutzername und passwort sind im code richtig habe sie nur für das forum unkenntlich gemacht.
 

mrBrown

Super-Moderator
Mitarbeiter
Ich denke mal es liegt daran, dass der driver url string falsch ist. Ich habe den Aufbau allerdings aus diversen Tutorien aus dem Internet und verschiedene ausprobiert. Noch eine Frage - wenn ich die Code Zeile
Wie ist der welcher Treiber denn eingebunden?

Auch das verstehe ich nicht, denn müsste nicht als erstes wieder eine sql Exception kommen?
Da kommt doch eine SQL-Exception, die andere Exception die dort kommt ist aus dem Client, der gleichzeitig gestartet wird (und sich nicht mit dem Server verbinden kann, weil der ja nicht gestartet wird).
 

dvdlly

Aktives Mitglied
Wie ist der welcher Treiber denn eingebunden?
Ich weiß nicht genau wie du das meinst?
Da kommt doch eine SQL-Exception, die andere Exception die dort kommt ist aus dem Client, der gleichzeitig gestartet wird (und sich nicht mit dem Server verbinden kann, weil der ja nicht gestartet wird).
Ich dachte da die andere Exception oben steht ist sie auch als erstes entstanden.
 

mrBrown

Super-Moderator
Mitarbeiter
Ich weiß nicht genau wie du das meinst?
Du musst den Treiber für die Datenbank irgendwie hinzufügen, entweder über die IDE oder Build Tools – wenn du das noch gar nicht gemacht hast, ist klar, warum der nicht gefunden wird ;)

Ich dachte da die andere Exception oben steht ist sie auch als erstes entstanden.
Das ist auch so: Client und Server werden gleichzeitig gestartet – einer von beiden kann aber jetzt ein paar ms schneller sein, und dann kommt eben erst die Exception aus dem Client und dann die des Servers.
 
K

kneitzel

Gast
Da wäre mein Ratschlag, dass du dir eine IDE holst. Ich bevorzuge IntelliJ (Community Edition ist frei und open source) ist so wie Netbeans Einsteigerfreundlich. Eclipse wäre die dritte IDE, die sehr verbreitet ist, aber das ist die Eierlegendewollmilchsau die eher nichts für Anfänger ist.

Und neben der IDE: Maven oder Gradle kann man mit wenig Aufwand verwenden - das wäre auch nicht schlecht...
 

dvdlly

Aktives Mitglied
Okay, bin jetzt auf IntelliJ umgestiegen, die dependency ist in der pom.xml
Java:
<dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-mxj-db-files</artifactId>
            <version>5.0.12</version>
        </dependency>
    </dependencies>

ich habe eine neue Klasse Server geschrieben, und teste nur in der main ob die Verbindung klappt:

Java:
import java.sql.*;
public class Server {

    public static void main(String[] args){
        try {
            Connection con = DriverManager
                    .getConnection("jdbc:mysql://localhost:3306/messages", "*****", "********");
            // use con here
        }
        catch (Exception e){
            e.printStackTrace();
        }
    }
}

das schlägt fehl mit
Java:
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/messages
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
    at Server.main(Server.java:7)

könnt ihr mir sagen warum? :)
 

dvdlly

Aktives Mitglied
So? Das kann nicht gefunden werden :S
Java:
<dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.24</version>
        </dependency>
    </dependencies>
 

dvdlly

Aktives Mitglied
Ich habe IntelliJ einmal neu geladen, also die Einstellungen sollten alle standard sein. Allerdings wurden, als ich es gestartet habe, die alten .java und .class files die ich in diesem Thread gepostet habe, im Verzeichnis Source angezeigt. Ich hab die dann gelöscht, damit kann es nicht zusammenhängen oder?
 
K

kneitzel

Gast
Die Frage ist, was Du jetzt wie genau gemacht hast.

Wenn Du jetzt etwas von einer pom.xml schreibst, dann hast Du vermutlich auch Maven im Einsatz. Ich würde da dann immer sauber anfangen. Das bedeutet, dass die Java Dateien von Dir in das Verzeichnis src/main/java gehören. Da Du den Namespace Source hast, halt noch der Ordner Source.

Man kann dann noch maven wrapper Dateien dazu packen ... ich habe mal Deine drei Dateien in ein kleines Maven Projekt gepackt.

Habe a auch noch das shade Plugin dazu gepackt, so dass das jar File auch die Abhängigkeiten enthält. Die Sourcen willst Du aber natürlich noch austauschen mit neueren Version - das ist noch deine erste gepostete Version.

Java Version habe ich mal 11 angenommen - sollte so mit einem JDK 11 oder später funktionieren.
Einfach entpacken, übersetzen z.B. per mvnw package
In target bekommst Du dann ein jar File, welches du ausführen kannst.

Das Verzeichnis kannst Du auch direkt in IntelliJ als Projekt öffnen. Dann kannst Du die Maven Goals über das maven toolfenster anstarten.

Was bei Änderungen an der pom.xml wichtig ist: Danach muss ntelliJ die Änderungen laden. Dazu einfach den eingebleneten Knopf oben rechts im aktiven Fenster anklicken oder im Maven Toolfenster die zwei Pfeile in Kreisform betätigen:


IntelliJMavenReload.png
 

Anhänge

  • MySQLTest.zip
    54,1 KB · Aufrufe: 1

dvdlly

Aktives Mitglied
Also hab es jetzt hingekriegt, dass die dependency gefunden wird. Habe im Verzeichnis der pom.xml
Java:
mvn clean install -U
ausgeführt. Allerdings wird immer noch die Exception
Java:
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/messages
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
    at Server.main(Server.java:7)
geworfen.
 
K

kneitzel

Gast
Hier ist die Frage, was Du genau wie machst.

Generell ist es so, dass Maven die Abhängigkeit lädt und bei Maven Schritten auch entsprechend einbindet. Wenn Maven dir aber z.B. ein jar File baut, dann ist da die Abhängigkeit nicht mit drin. Wenn Du sowas startest, dann musst du die Abhängigkeiten beim Start mit angeben.

Ich habe daher in dem Projekt das shade Plugin verwendet, damit die Abhängigkeiten auch mit in das jar File kopiert werden.

Gerne erläutere ich Dir Dinge noch mehr - aber dazu müsstest Du mir genau sagen, was Du wie gemacht hast.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Petewin Compiler-Fehler Netbeans 12.2 auf Mac installieren. No suitable driver found for jdbc:derby://localhost:1527/Produkte [Peter on PETER] Java Basics - Anfänger-Themen 1
A JDBC EmbeddedDriver Java Basics - Anfänger-Themen 1
C No suitable driver found for jdbc:odbc:mysql Java Basics - Anfänger-Themen 8
A Java - JDBC SQL Java Basics - Anfänger-Themen 2
A Junit Test für MysqlDataSource JDBC Java Basics - Anfänger-Themen 3
B MySQL (jdbc) -> connection liefert NULL Java Basics - Anfänger-Themen 3
F Warum erhalte ich diese Fehler bei der Einbindung von SQLite JDBC in Eclipse? Java Basics - Anfänger-Themen 1
Vince42 Java 8 JDBC / OLE DB Java Basics - Anfänger-Themen 15
O JDBC Ungültiger Spaltenindex Java Basics - Anfänger-Themen 19
K JDBC - Wie ist Fehlermeldung zu interpretieren Java Basics - Anfänger-Themen 3
B Java Datenbankverbindungsfähigkeit - JDBC Java Basics - Anfänger-Themen 1
D Was genau ist JDBC? Java Basics - Anfänger-Themen 2
P Classpath jdbc-Treiber kann nach export in jar-File nicht mehr geladen werden Java Basics - Anfänger-Themen 2
M JDBC SQL Problem Java Basics - Anfänger-Themen 5
K org.h2.jdbc.JdbcSQLException: Keine Daten verfügbar Java Basics - Anfänger-Themen 9
J Oracle JDBC Driver funktioniert nur in einer Klasse Java Basics - Anfänger-Themen 2
eLogic JDBC: Relative Pfadangabe in JAR Java Basics - Anfänger-Themen 14
F Erfassung von PCs in eine SQLite-Datenbank über JDBC Java Basics - Anfänger-Themen 9
S JDBC MySQL Connector - Element mit ' eintragen? Java Basics - Anfänger-Themen 4
D JDBC Datenbank fail?! Java Basics - Anfänger-Themen 20
R JDBC leeres ResultSet Problem Java Basics - Anfänger-Themen 2
J Java JDBC MySQL Query Java Basics - Anfänger-Themen 6
X JDBC installieren Java Basics - Anfänger-Themen 2
F JDBC - ClassNotFoundException Java Basics - Anfänger-Themen 3
J jdbc driver on linux ? Java Basics - Anfänger-Themen 11
lenniii DB Basics (JDBC-Treiber) Java Basics - Anfänger-Themen 16
P Servlets und JDBC Java Basics - Anfänger-Themen 2
B JDBC DB2 Connection Java Basics - Anfänger-Themen 1
C OOP JDBC: Ausgabe ResultSet nach Select Java Basics - Anfänger-Themen 3
P JDBC für anfänger Java Basics - Anfänger-Themen 16
D Probleme mit jdbc Java Basics - Anfänger-Themen 9
T JDBC Problemchen Java Basics - Anfänger-Themen 2
B JDBC Treiber lokal installieren ? Java Basics - Anfänger-Themen 2
B JDBC: Bereits in der DB vorhandene Abfrage ausführen Java Basics - Anfänger-Themen 7
G Oracle SQL JDBC in Eclipse laden Java Basics - Anfänger-Themen 2
G Maven Dependency für Oracle JDBC-Driver korrekt festlegen Java Basics - Anfänger-Themen 4
G JDBC - Classpath - Ich werd wahnsinnig! Java Basics - Anfänger-Themen 18
J Fehler bei MySql Anbindung mit JDBC Java Basics - Anfänger-Themen 4
G welche Java-Technologie für JDBC geeignet Java Basics - Anfänger-Themen 6
N JDBC Problem Java Basics - Anfänger-Themen 5
M Datenbankzugriff via JDBC Java Basics - Anfänger-Themen 8
S JDBC und NullpointerException Java Basics - Anfänger-Themen 5
S JDBC Verbindungen Java Basics - Anfänger-Themen 2
M JDBC Treiber LGPL Java Basics - Anfänger-Themen 11
D JDBC Treiber unter dem Java Application Server Java Basics - Anfänger-Themen 6
J java und jdbc mit access Java Basics - Anfänger-Themen 3
J JDBC Crash Kurs Java Basics - Anfänger-Themen 3
D Einige Fragen zu Java Java2D JDBC usw. XD Java Basics - Anfänger-Themen 13
D Kleines Problem mit JDBC Java Basics - Anfänger-Themen 2
T SWT-Tabelle aus JDBC füllen Java Basics - Anfänger-Themen 8
C jdbc Anfänger Tutorial gesucht Java Basics - Anfänger-Themen 19
H JDBC in den Klassenpfad eintragen Java Basics - Anfänger-Themen 4
J jdbc getTableName Java Basics - Anfänger-Themen 12
R JDBC Verbindung geht nicht Java Basics - Anfänger-Themen 4
S Problem mit JDBC und Transaktion Java Basics - Anfänger-Themen 12
G hilfe jsp/servlet,jdbc api running on tomcat server+webProxy Java Basics - Anfänger-Themen 8
K JDBC - Typ Connection in jeder Klasse neu öffnen? Java Basics - Anfänger-Themen 4
A JDBC modular Java Basics - Anfänger-Themen 2
megachucky nochmal JDBC. komme nicht weiter. Java Basics - Anfänger-Themen 4
megachucky JDBC-Grundlagen: Verständnisprobleme Java Basics - Anfänger-Themen 31
Dimax In Java File (nicht in Java Projekt) mysql Driver importieren Java Basics - Anfänger-Themen 3
W MySQL Driver als Resource laden Java Basics - Anfänger-Themen 5
M No suitable driver bei einer Oracle Datenbank Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben