Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Java.sql.SQLException

Empfohlene Antworten

Veröffentlicht

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:

Vorweg mal die Frage, ob die SQL Statements alle richtig sind? Schonmal so probiert, ob sie klar durchlaufen ?

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

Und wie kann ich diesen Fehler beheben?
Eine ultimativ präsentierbare einfache Lösung scheint es da nicht zu geben. Du wirst dich wohl oder übel durch die Suchergebnisse bei Google wühlen müssen und ein wenig Recherchearbeit leisten müssen.

gleiches problem gabs hier schon vorige woche, frag mal den dortigen threadersteller, ob er schon eine lösung gefunden hat.

s'Amstel

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.