Toon posts:

[java]Connectie mysql

Pagina: 1
Acties:

Verwijderd

Topicstarter
Volgens mij heb ik alle topics hier over gehad, maar het lukt me maar niet om een verbinding te maken met mijn MySql DB.

Ik gebruik BlueJ. In de werk dir van BlueJ heb ik de zip file van MySql gezet(c:\bluej\lib\userlib\mysql-connector-java-3.1.1-alpha.zip)
BlueJ zegt ook dat deze file loaded is.

Dit zij de classes die ik heb gemaakt.
Java:
1
2
3
4
5
6
7
8
9
public class Apl{

    public static void main (String [] arg){
        DBConnect connection = new DBConnect();
        connection.makeConnection();
        System.out.println(connection.checkConnection());
    }

}

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.sql.*;

public class DBConnect{

    private Connection conn;
    private String connURL = "jdbc.mysql.//localhost/oef:";
    private String user = "user=root, password=";

    public DBConnect(){
    }
    
    //Connectie maken
    public void makeConnection(){
        try{
            Class.forName("org.gjt.mm.mysql.Driver");
            conn = DriverManager.getConnection(connURL+user);
        }catch(Exception e){
            System.err.println(e.getMessage());
        }
    }
    
    //Controlle of er een connectie is
    public String checkConnection(){
            if(conn == null){
                    return "Geen connectie!";
                }else{
                    return "Verbonden...";
                }
            }
    
}

Dit is de output die ik krijg:
Geen connectie!

org.gjt.mm.mysql.Driver

Zie ik iets over het hoofd???

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Is je connURL wel ok?
Javadoc zegt over de eerste parameter van getConnection(String url): a database url of the form jdbc:subprotocol:subname

Ook bestaat er een getConnection(String url, Properties info), waar info de usernaam en wachtwoord bevat.

Misschien kun je dus:
Java:
1
conn = DriverManager.getConnection(connURL+user);

vervangen door:
Java:
1
conn = DriverManager.getConnection(connURL, user);


(en zo probeer ik ook maar wat te bedenken, ik zit er niet echt diep in ;) )

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

...of the form jdbc:subprotocol:subname
zoek de verschillen:
Java:
6
private String connURL = "jdbc.mysql.//localhost/oef:"; 

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Topicstarter
Er zijn 3 getConnection in de DriverManager. Zolas ik die gebruik geef ik 1 String mee. Als ik er een ',' tussen zet ziet ie het als 2 Strings.

[ Voor 6% gewijzigd door Verwijderd op 25-05-2004 13:47 ]


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Je zou trouwens bij het opvangen van de exception ook naar System.out kunnen printen, of de methode e.printStackTrace() kunnen gebruiken om meer informatie te krijgen over wat fout gaat.

Verwijderd

Topicstarter
drm schreef op 25 mei 2004 @ 13:43:
[...]

zoek de verschillen:

[...]
Ik had al eerder met punten en dubbele punten gebprobeerd, zelfde output.
Ik heb het nu idd met ':' gesepareerd...

Verwijderd

Topicstarter
bigbeng schreef op 25 mei 2004 @ 13:48:
Je zou trouwens bij het opvangen van de exception ook naar System.out kunnen printen, of de methode e.printStackTrace() kunnen gebruiken om meer informatie te krijgen over wat fout gaat.
Ok, nu idd veel meer info:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

at java.net.URLClassLoader$1.run(URLClassLoader.java:199)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:187)

at java.lang.ClassLoader.loadClass(ClassLoader.java:289)

at java.lang.ClassLoader.loadClass(ClassLoader.java:235)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:141)

at DBConnect.makeConnection(DBConnect.java:16)

at Apl.main(Apl.java:5)

at __SHELL0.run(__SHELL0.java:6)

at bluej.runtime.ExecServer.vmSuspend(ExecServer.java:178)

at bluej.runtime.ExecServer.main(ExecServer.java:143)

Ik vind het vreemd dat hij de Class niet vind, BlueJ geeft duidelijk aan dat ie is geladen. Ik heb de zip nu ook nog eens in C:\Program Files\j2sdk_nb\j2sdk1.4.2\jre\lib\ext staan...

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 16:59

Robtimus

me Robtimus no like you

Verwijderd schreef op 25 mei 2004 @ 13:47:
Er zijn 3 getConnection in de DriverManager. Zolas ik die gebruik geef ik 1 String mee. Als ik er een ',' tussen zet ziet ie het als 2 Strings.
Gebruik dan versie 3, met 3 Strings, zijnde URL, user en password?

Verder, moet er niet een ? ipv een : tussen je database en de user?
Uit een stuk code van mij dat goed werkt:
Java:
1
"jdbc:mysql://" + hostip + "/" + database + "?user=" + user + "&password=" + password"

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 16:59

Robtimus

me Robtimus no like you

Verwijderd schreef op 25 mei 2004 @ 13:53:
Ik vind het vreemd dat hij de Class niet vind, BlueJ geeft duidelijk aan dat ie is geladen. Ik heb de zip nu ook nog eens in C:\Program Files\j2sdk_nb\j2sdk1.4.2\jre\lib\ext staan...
Zit er in die zip ook een jar file? Zoja, pak die eens uit naar die lib\ext dir.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Verwijderd

Topicstarter
IceManX schreef op 25 mei 2004 @ 13:56:
[...]
Zit er in die zip ook een jar file? Zoja, pak die eens uit naar die lib\ext dir.
Dat was um....
De readme file van mysql zegt dat je de gedwonloade zip-file kunt gebruiken...Maar het is dus de jar file.

thx allemaal

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Ben toch benieuwd: is je connectie string nou wel ok zoals ie hier helemaal bovenaan staat?

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


Verwijderd

Topicstarter
Ik heb de connectie string idd zo gelaten. Die was ok....

Verwijderd

Je moet de jar of (het pad van de classes) van de driver opnemen in je classpath wanneer je compileert én wanneer je uitvoert. (javac/java -cp=/jouw/path/ JouwProg)

Verwijderd

Die MySQL connector zip die je download bevat zelf nog een .jar file die in een classfile bevat, deze jar file moet in je classpath staan.

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 16:59

Robtimus

me Robtimus no like you

Verwijderd schreef op 30 mei 2004 @ 18:23:
Je moet de jar of (het pad van de classes) van de driver opnemen in je classpath wanneer je compileert én wanneer je uitvoert. (javac/java -cp=/jouw/path/ JouwProg)
Dat hoeft niet als je hem in de lib/ext dir van de JRE zet. Alles dat daar staat zijn extensies, en worden automatisch afgezocht nog voor het classpath. De ideale plek voor 3rd party libraries dus.

More than meets the eye
There is no I in TEAM... but there is ME
system specs

Pagina: 1