Toon posts:

[Java] connectie maken naar database lukt niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil een connectie maken met Java (Visual Cafe 3) naar een MySql database. Als ik de code gebruik die in de readme van de JDBC staat krijg ik elke keer een foutmelding. De driver is geregistreerd in de classpath als het goed is.

Class.forName("com.mysql.jdbc.Driver").newInstance();

Met deze code zou het moeten lukken, heeft iemand een idee wat ik fout doe.
Ik heb de driver via menu "tools" -> "environment options" en dan tabblad "internal vm" in de classpath gezet, klopt dit?

Excuses voor de ontbrekende titel, hoe verander je die?

[ Voor 12% gewijzigd door Verwijderd op 27-04-2003 17:59 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

Excuses voor de ontbrekende titel, hoe verander je die?
kun jij niet veranderen ;)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Wat voor een foutmelding krijg je? Dat ie de driver niet kan vinden?

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

Robtimus

me Robtimus no like you

Welke foutmelding krijg je?

Wij hebben hetzelfde ooit op school moeten doen. FF na zitten kijken, en het enige dat verschilt is de gebruikte driver: wij hadden org.gjt.mm.mysql.Driver
Probeer deze anders eens (sorry, ik weet niet meer waar we hem vandaan hadden).

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


Verwijderd

Topicstarter
Ik heb org.gjt.mm.mysql.Driver ook geprobeerd die verwijst naar com.mysql.jdbc.Driver.
Hij kan inderdaad de driver niet vinden. Deze code moet werken volgens mij, ik denk dat de fout in de classpath zit. Daar heb ik de jar file wel toegevoegd dus het zou moeten werken, maar dat doet ie niet.

Verwijderd

Ik heb een keer die driver in de (windows)dir C:\j2sdk1.4.0_03\jre\lib\ext\ gezet. Dat loste mijn probleem op. Toen had ik ook een keer problemen om het met webstart werkend te krijgen, maar toen was het een kwestie van naast de JAR van het programma ook de JAR van de driver aan te roepen in het .jnlp bestand.

  • albiez
  • Registratie: September 2000
  • Laatst online: 16-07 22:24
Hey Klaas :)

Je moet het bestand mysql-connector-java-3.0.7-stable-bin.jar naar de directory c:\program files\Visualcafe\Java2\ext\ kopieren.
Daarna voeg je deze jar file toe via die Internal vm. Bij mij is het zo gelukt.
Zal je gelijk ook ff de java code geven die ik gebruikt heb:

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
32
33
34
35
36
37
public class MysqlTest extends Applet 
{
    String v[] = new String[5];
    
    public void init()
    {
        try
        {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/albie?user=root&password=??????");
            Statement stmt = (Statement) conn.createStatement();
            ResultSet rs = (ResultSet) stmt.executeQuery("SELECT * from stats");
            
            int i = 0;
            while (rs.next())
            {
                v[i] = rs.getString("IP");
                i++;                
            }
            stmt.close();
            conn.close();       
        }
        catch(Exception ex)
        {
        }
    }
        
    public void paint(Graphics g)
    {
        int y = 0;
        for(int i=0; i < v.length; i++)
        {
            g.drawString(v[i], 50, y);
            y = y+20;
        }
    }
}

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Even een paar opmerkingen over dat stukje code ;) .

Java:
1
2
3
4
5
6
7
8
9
10
  String v[] = new String[5];
     
  ResultSet rs = (ResultSet) stmt.executeQuery("SELECT * from stats");
             
  int i = 0;
  while (rs.next())
  {
    v[i] = rs.getString("IP");
    i++;
  }

Je gaat er maar even vanuit dat er precies 5 resultaten zijn. Het kunnen er meer zijn, het kunnen er minder zijn. In beide gevallen ben je nogal de lul.

code:
1
2
3
  catch(Exception ex)
  {
  }

Nooit zo je exceptions opeten: als er nu iets misgaat heb je geen flauw idee waardoor dit veroorzaakt wordt, als je het tenminste al opmerkt. Raar gedrag op een andere plek kan door deze opgegeten exception worden veroorzaakt, waar je lang naar kan zoeken! Print tenminste een stacktrace of een melding naar de System.err ...

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment

Pagina: 1