Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: mySQL en JDBC help?  (gelezen 2388 keer)

Shonof

  • Gast
mySQL en JDBC help?
« Gepost op: 2008/10/10, 10:53:45 »
Ik zit al een tijdje in java te programmeren in eclipse gaat altijd goed. Nu komt er een schoolopdracht waarmee ik moet connecten op een mysql db en ik moet dat kunnen op mijn eigen laptop.

Java werkt al goed en dit heb ik geinstalleerd.

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysql-java

Dit volg ik, maar volgens mij is dat niet up to date.
https://help.ubuntu.com/community/JDBCAndMySQL
Maar bijv. die root password, met dit    mysqladmin -u root password root    . Hoefde ik niet te doen. Onder het installeren moest ik het al invoeren.

Mijn vraag is heb ik nu alles gedaan om gewoon te kunnen connecten mysql te werken met java? Of moet ik de guide verder volgen? Of weten jullie iets beters?

Ik hoop dat er iemand is die mij kan helpen.

Offline dvdmeer

  • Lid
    • Python-RandR :: dvdmeer.nl
mySQL en JDBC help?
« Reactie #1 Gepost op: 2008/10/10, 13:45:23 »
Ik zou zeggen, probeer het commando uit wat staat weergegeven,

mysql -u root -p en vervolgens het wachtwoord invoeren dat je tijdens installeren hebt ingevoerd.

Ik weet niet of je de hele handleiding bent doorgelopen, of bent gestopt op je aangegeven punt?

Shonof

  • Gast
mySQL en JDBC help?
« Reactie #2 Gepost op: 2008/10/10, 14:06:51 »
Die commando werkt, maar ik ben daar gestopt. Volgens mij hoeft de rest bijna allemaal niet meer in 8.04 en met java 6.
Ik weet gewoon niet wat ik moet doen, omdat ik bang ben dat het mis gaat.

Shonof

  • Gast
mySQL en JDBC help?
« Reactie #3 Gepost op: 2008/10/10, 14:46:51 »
Ik heb een aantal dingen ontdenkt om te testen(zie code hieronder). De output is: Driver loaded en de rest zijn errors.

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysql-java

geinstalleerd
+
De driver wordt geladen.

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

import java.sql.*;

public class DBDemo {
   public static void main(String[] args) throws SQLException,
         ClassNotFoundException {
      // Load the JDBC driver
      Class.forName("com.mysql.jdbc.Driver");
      System.out.println("Driver loaded");

      // Establish a connection
      Connection connection = DriverManager
            .getConnection("jdbc:mysql://localhost/test");
      System.out.println("Database connected");

      // Create a statement
      Statement statement = connection.createStatement();
      // Execute a statement
      ResultSet resultSet = statement
            .executeQuery("select firstName, mi, lastName from Student where lastName "
                  + " = 'Smith'");

      // Iterate through the result and print the student names
      while (resultSet.next())
         System.out.println(resultSet.getString(1) + "\t"
               + resultSet.getString(2) + "\t" + resultSet.getString(3));

      // Close the connection
      connection.close();
   }
}

Offline dvdmeer

  • Lid
    • Python-RandR :: dvdmeer.nl
mySQL en JDBC help?
« Reactie #4 Gepost op: 2008/10/10, 15:22:48 »
Oke, de driver kan gevonden worden. Dat is mooi.

Uit je code te lezen heet de database "test". Hierin zou de tabel Student moeten zitten met (minimaal) de kolommen firstName en lastName.

Heb je ook daadwerkelijk deze database al aangemaakt met genoemde tabel?

Zou je misschien ook de errors willen plaatsen  (die te maken hebben met de database)?

Shonof

  • Gast
mySQL en JDBC help?
« Reactie #5 Gepost op: 2008/10/10, 16:18:22 »
Ik heb een database aangemaakt testDB. Ik heb test nu ook vernaderd in testDB(wist niet dat dat moest).

Dit bedoelde je denk ik.
-----

Driver loaded
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user ''@'localhost' to database 'testDB'
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
   at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
   at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
   at com.mysql.jdbc.Util.getInstance(Util.java:381)
   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:910)
   at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3923)
   at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1273)
   at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2031)
   at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:718)
   at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:46)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
   at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
   at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
   at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
   at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
   at java.sql.DriverManager.getConnection(DriverManager.java:620)
   at java.sql.DriverManager.getConnection(DriverManager.java:222)
   at DBDemo.main(DBDemo.java:12)

Offline dvdmeer

  • Lid
    • Python-RandR :: dvdmeer.nl
mySQL en JDBC help?
« Reactie #6 Gepost op: 2008/10/10, 16:24:20 »
Oke, je hebt dus nog geen permissies om in je database te komen.
grant all privileges on testDB.* to user@localhost identified by "password";
flush privileges;
[user] vervangen door jouw inlognaam (van ubuntu). En een password instellen. De quotes dienen daar te blijven staan.

Ik ga even kijken of ik nog iets van mezelf kan vinden over de connecties. Want die inloggegevens moeten volgens mij ook nog in de java code staan.

Edit:

Connection connection = DriverManager
                .getConnection("jdbc:mysql://localhost/test");
        System.out.println("Database connected");
In dit stukje komen de inloggegevens erbij:

Connection connection = DriverManager
                .getConnection("jdbc:mysql://localhost/test", "username", "password");
        System.out.println("Database connected");
Username en password naar jouw situatie veranderen.

Shonof

  • Gast
mySQL en JDBC help?
« Reactie #7 Gepost op: 2008/10/11, 01:20:21 »
Het connecten is gelukt!!! dvdmeer echt bedankt!
Als het goed is dan werkt het nu helemaal. Nogmaal bedankt dvdmeer.

Offline dvdmeer

  • Lid
    • Python-RandR :: dvdmeer.nl
mySQL en JDBC help?
« Reactie #8 Gepost op: 2008/10/11, 19:14:04 »
Mooi dat het is gelukt. Graag gedaan. Op welke school zit je?

Shonof

  • Gast
mySQL en JDBC help?
« Reactie #9 Gepost op: 2008/10/12, 00:06:59 »
Davinci in dordrecht

Offline dvdmeer

  • Lid
    • Python-RandR :: dvdmeer.nl
mySQL en JDBC help?
« Reactie #10 Gepost op: 2008/10/12, 00:44:10 »
Oke. Succes nog met je opdracht verder. En ik hoor het wel als je ergens niet uitkomt.