Zum Inhalt springen

Java.sql.SQLException


Alex_winf01

Empfohlene Beiträge

Bei folgendem Code bekomme ich eine java.sql.SQLException:

// Datei CreateMysqlTables01.java


import java.sql.*;


public class CreateMysqlTables01 {

    public static void main( String[] args ) {

        // Bitte ändern sie den Host-Namen auf

        // die Einstellung in Ihrem System.

        //String host = "maggie";

        String host = "localhost";


        String port = "3306";


        // Treiber-Typ ist "mysql".

        String dbType = "mysql";


        // Name der Datenbank.

        // Bitte ändern Sie den Namen entsprechend

        // Ihrer Konfiguration.

        //String dbName = "test";

        String dbName = "aeb";


        // Datenbank-User

        // Bitte ändern Sie den Namen entsprechend

        // Ihrer Konfiguration.

        //String dbUser = "hemu";

        String dbUser = "root";


        // Datenbank-Kennwort

        // Bitte ändern Sie das Kennwort

        // entsprechend Ihrer Konfiguration.

        String dbPwd = "";


        // Mit der folgenden Anweisung

        // geben wir die JDBC-Treiber für Oracle und

        // Mysql an, die je nach Vorhandensein

        // geladen werden.

        // (Dies kann man natürlich auch über

        // die Kommandozeile mit dem "-D"-Schalter

        // und dem Property "jdbc.drivers" tun).

        String myDrivers = "com.mysql.jdbc.Driver";


        System.setProperty(

            "jdbc.drivers",

            myDrivers

        );


        // Nun sollte der Treiber geladen sein.

        // Wir bauen die erste Verbindung zur

        // Datenbank auf.

        Connection conn = null;

        PreparedStatement pstmt = null;

        String sql = null;


        String uri = "jdbc:" + dbType + "://" + host + ":" + port + "/" + dbName;


        try {

            conn = DriverManager.getConnection(

                uri,

                dbUser,

                dbPwd

            );


            sql = "CREATE TABLE person (" +

        "pers_id BIGINT NOT NULL " +

        "AUTO_INCREMENT PRIMARY KEY," +

        "pers_ln VARCHAR( 255 ) BINARY NOT NULL," +

        "pers_fn VARCHAR( 255 ) BINARY NOT NULL," +

        "pers_mn VARCHAR( 255 ) BINARY," +

        "pers_email VARCHAR( 255 )," +

        "INDEX( pers_ln )," +

        "INDEX( pers_fn )," +

        "INDEX( pers_email )" +

            ")";



            pstmt = conn.prepareStatement( sql );

            pstmt.execute();


            sql = "CREATE TABLE address (" +

        "addr_id BIGINT NOT NULL " +

        "AUTO_INCREMENT PRIMARY KEY," +

        "addr_ctry VARCHAR( 255 ) " +

        "BINARY NOT NULL," +

        "addr_zip VARCHAR( 255 ) BINARY NOT NULL," +

        "addr_city VARCHAR( 255 ) " +

        "BINARY NOT NULL," +

        "addr_street VARCHAR( 255 ) " +

        "BINARY NOT NULL," +

        "INDEX( addr_ctry )," +

        "INDEX( addr_zip )," +

        "INDEX( addr_city )," +

        "INDEX( addr_street )" +

            ")";


            pstmt = conn.prepareStatement( sql );

            pstmt.execute();


            sql = "CREATE TABLE phone (" +

        "phone_id BIGINT NOT NULL " +

        "AUTO_INCREMENT PRIMARY KEY," +

        "phone_num VARCHAR( 255 ) NOT NULL," +

        "UNIQUE( phone_num )" +

            ")";


            pstmt = conn.prepareStatement( sql );

            pstmt.execute();


            sql = "CREATE TABLE pers_addr (" +

                "pa_pers_id BIGINT NOT NULL," +

                "pa_addr_id BIGINT NOT NULL," +

                "UNIQUE( pa_pers_id, pa_addr_id )" +

                ")";


            pstmt = conn.prepareStatement( sql );

            pstmt.execute();


            sql = "CREATE TABLE pers_phone (" +

                "pp_pers_id BIGINT NOT NULL," +

                "pp_phone_id BIGINT NOT NULL," +

                "UNIQUE( pp_pers_id,pp_phone_id )" +

                ")";


            pstmt = conn.prepareStatement( sql );

            pstmt.execute();

        } catch ( Exception ex ) {

            System.err.print(

                ex + "\nsql = " + sql

            );

            System.exit( 1 );

        } finally {

            if ( pstmt != null ) {

                try {

                    pstmt.close();

                } catch ( Exception ign ) {}

            }


            if ( conn != null ) {

                try {

                    conn.close();

                } catch ( Exception ign ) {}

            }

        }


        System.exit( 0 );

    }

}
Die Fehlermeldung sieht wie folgt aus:
java.sql.SQLException:Unable to connect to any hosts due to exception: java.net.SocketException: Unrecognized Windows Sockets error: 10106: create

In einem anderen Forum habe ich bereits gelesen, dass es an der System_root liegen kann. Wie muss ich die System_root setzen, dass ich diese Fehlermeldung nicht mehr bekomme?:confused:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vorweg mal die Frage, ob die SQL Statements alle richtig sind? Schonmal so probiert, ob sie klar durchlaufen ?
Hat doch mit den Statements an sich überhaupt nichts zu tun:

java.sql.SQLException:Unable to connect to any hosts due to exception: java.net.SocketException: Unrecognized Windows Sockets error: 10106: create

Deutet ganz klar auf einen Fehler im Verbindungsaufbau zur Datenbank hin. Wahrscheinlich auch komplett unabhängig von Java sondern irgendwelche Betriebssystem-Internas.

http://www.google.com/search?num=50&hl=de&newwindow=1&safe=off&q=10106+socket&btnG=Suche&lr=

Scheint das zu bestätigen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...