Avatar billede mathiash Nybegynder
20. august 2005 - 12:17 Der er 15 kommentarer og
1 løsning

Installer mysql driver!

Hej!

Jeg prøver mig frem med mysql i java, men tror jeg mangler en mysql driver.

Min kode ser sådan her ud:
----------------- SNIP ------------
    void opret_nyhed(ActionEvent u) {
        Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://matisen.dk/larsenndk", "larsenndk", "kl1475");
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("insert into nyheder (overskrift, navn, tekst, tid) values ('"+overskrift.getText()+"', '"+navn.getText()+"', '"+tekst.getText()+"', UNIX_TIMESTAMP())");
    }
----------------- SNIP ------------
Får følgende fejl når jeg vil kompilere:
C:\java\larsenn>javac Larsenn.java
Larsenn.java:62: unreported exception java.lang.ClassNotFoundException; must be
caught or declared to be thrown
                Class.forName("com.mysql.jdbc.Driver");
                            ^
Larsenn.java:63: unreported exception java.sql.SQLException; must be caught or d
eclared to be thrown
                Connection con = DriverManager.getConnection("jdbc:mysql://matis
en.dk/larsenndk", "larsenndk", "******");
                                                            ^
Larsenn.java:64: unreported exception java.sql.SQLException; must be caught or d
eclared to be thrown
                Statement stmt = con.createStatement();
                                                    ^
Larsenn.java:65: unreported exception java.sql.SQLException; must be caught or d
eclared to be thrown
                ResultSet rs = stmt.executeQuery("insert into nyheder (overskrif
t, navn, tekst, tid) values ('"+overskrift.getText()+"', '"+navn.getText()+"', '
"+tekst.getText()+"', UNIX_TIMESTAMP())");
                                                ^
4 errors

----------------------------------------

Så vidt jeg kan forstå så følger driveren med mit sdk?
Avatar billede arne_v Ekspert
20. august 2005 - 12:32 #1
nej - den skal dowenloades fra MySQL
Avatar billede arne_v Ekspert
20. august 2005 - 12:32 #2
Avatar billede arne_v Ekspert
20. august 2005 - 12:32 #3
unzip og put den udpakkede jar filen i classpath
Avatar billede arne_v Ekspert
20. august 2005 - 12:33 #4
fejlene skyldes dog ikke den manglende driver men at du mangler enten try catch
omkring din DB kode eller en throws til at håndtere excpetions
Avatar billede mathiash Nybegynder
20. august 2005 - 12:50 #5
C:\java\larsenn>java -cp .;mysql-connector-java-3.1.10-bin.jar Larsenn
Problem med database: com.mysql.jdbc.CommunicationsException: Communications lin
k failure due to underlying exception:
.................................
Avatar billede arne_v Ekspert
20. august 2005 - 12:51 #6
er MySQL databasen startet ? er det åbent på port 3306 til den ?
Avatar billede mathiash Nybegynder
20. august 2005 - 12:52 #7
Det her skal måske også lige med:

C:\java\larsenn>java -cp .;mysql-connector-java-3.1.10-bin.jar Larsenn
Problem med database: com.mysql.jdbc.CommunicationsException: Communications
k failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused: connect

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection refused: con

        at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactor
va:156)
        at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:283)
        at com.mysql.jdbc.Connection.createNewIO(Connection.java:2541)
        at com.mysql.jdbc.Connection.<init>(Connection.java:1474)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.
:264)
        at java.sql.DriverManager.getConnection(DriverManager.java:525)
        at java.sql.DriverManager.getConnection(DriverManager.java:171)
        at Larsenn.opret_nyhed(Larsenn.java:64)
        at Larsenn$1.actionPerformed(Larsenn.java:47)
        at java.awt.Button.processActionEvent(Button.java:388)
        at java.awt.Button.processEvent(Button.java:356)
        at java.awt.Component.dispatchEventImpl(Component.java:3955)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispat
read.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatch
ad.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:

        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:

        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)


** END NESTED EXCEPTION **



Last packet sent to the server was 15 ms ago.
com.mysql.jdbc.CommunicationsException: Communications link failure due to u
lying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused: connect

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection refused: con

        at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactor
va:156)
        at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:283)
        at com.mysql.jdbc.Connection.createNewIO(Connection.java:2541)
        at com.mysql.jdbc.Connection.<init>(Connection.java:1474)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.
:264)
        at java.sql.DriverManager.getConnection(DriverManager.java:525)
        at java.sql.DriverManager.getConnection(DriverManager.java:171)
        at Larsenn.opret_nyhed(Larsenn.java:64)
        at Larsenn$1.actionPerformed(Larsenn.java:47)
        at java.awt.Button.processActionEvent(Button.java:388)
        at java.awt.Button.processEvent(Button.java:356)
        at java.awt.Component.dispatchEventImpl(Component.java:3955)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispat
read.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatch
ad.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:

        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:

        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)


** END NESTED EXCEPTION **



Last packet sent to the server was 15 ms ago.
        at com.mysql.jdbc.Connection.createNewIO(Connection.java:2607)
        at com.mysql.jdbc.Connection.<init>(Connection.java:1474)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.
:264)
        at java.sql.DriverManager.getConnection(DriverManager.java:525)
        at java.sql.DriverManager.getConnection(DriverManager.java:171)
        at Larsenn.opret_nyhed(Larsenn.java:64)
        at Larsenn$1.actionPerformed(Larsenn.java:47)
        at java.awt.Button.processActionEvent(Button.java:388)
        at java.awt.Button.processEvent(Button.java:356)
        at java.awt.Component.dispatchEventImpl(Component.java:3955)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispat
read.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatch
ad.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:

        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:

        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Avatar billede arne_v Ekspert
20. august 2005 - 12:55 #8
mine 2 spørgsmål gælder stadig
Avatar billede mathiash Nybegynder
20. august 2005 - 12:57 #9
Mystisk - jeg tjekker lige et par ting nu..
Virker lokalt.. Men ser ud som om den er død eksternt..
Avatar billede arne_v Ekspert
20. august 2005 - 12:58 #10
firewall ?
Avatar billede mathiash Nybegynder
20. august 2005 - 13:02 #11
Nej... Serveren står lokalt og der er kun en ekstern firewall...
Jeg kører direkte til den's lokale ip.
Avatar billede mathiash Nybegynder
20. august 2005 - 13:06 #12
Har ellers brugt min mysql server fra min computer en del gange før.
Men nu virker det heller ikke mere.

Jeg har er igang med at reboote min server nu. :)

Læg et svar :)
Avatar billede arne_v Ekspert
20. august 2005 - 13:08 #13
ok
Avatar billede mathiash Nybegynder
20. august 2005 - 13:42 #14
Okay...
Mysql databasen kører nu og jeg kan sagtens forbinde til den med et andet program på min computer.

Jeg får følgende fejl når jeg starter mit program:
java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
java.sql.SQLException: Can not issue data manipulation statements with executeQuery().

Min kode:
---- SNIP ----
    void opret_nyhed(ActionEvent u) {
        try {
          Class.forName("com.mysql.jdbc.Driver");
                Connection con = DriverManager.getConnection("jdbc:mysql://mysql.matisen.dk/larsenndk", "larsenndk", "******");
                Statement stmt = con.createStatement();
              stmt.executeQuery("insert into nyheder (overskrift, navn, tekst, tid) values ('"+overskrift.getText()+"', '"+navn.getText()+"', '"+tekst.getText()+"', UNIX_TIMESTAMP())");

        } catch(Exception e) {
                System.out.println("Problem med database: "+e);
                e.printStackTrace();
            }
    }
---- SNIP ----
Avatar billede arne_v Ekspert
20. august 2005 - 14:08 #15
SELECT -> executeQuery

INSERT/UPDATE/DELETE -> executeUpdate
Avatar billede mathiash Nybegynder
20. august 2005 - 16:59 #16
Tak! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester