Avatar billede tmo Nybegynder
05. december 2000 - 20:04 Der er 2 kommentarer og
2 løsninger

JDBC kramper

Hej!

Jeg skal tilgå en DB(MySQL), gennem JDBC. Problemet er at den ikke kan finde min driver(kaster en sqlexception). Jeg har hentet mysql.jdbc og lagt det i JDK13\\lib. Her er lidt kode som det ser ud i min klasse
Connection db;
Statement st;
 
String url =\"jdbc:mysql://localhost/itek\";
String usr = \"*****\";
String pwd =\"*****\";
       
             
      try
        {
           
      Properties P = System.getProperties();
      P.put(\"jdbc.drivers\", \"mysql.Driver\");
      System.setProperties(P);
             
    }
jeg har prøvet med  Class.forName  (\"mysql.Driver\") istedet for ovenstående, men uden held.
Måske er det min opsætning, med jdbc.mysql og jdk der ikke funger helt, så hvis nogen har et forslag høre jeg det gerne.

Hygge tmo
Avatar billede stigc Nybegynder
05. december 2000 - 20:59 #1
kig her der ligger en masse eksempler:

http://java.sun.com/cgi-bin/download3.cgi

bla. følgende:


import java.sql.*;
   
public class SQLStatement  {

    public static void main(String args[]) {
         
        String url = \"jdbc:mySubprotocol:myDataSource\";
        Connection con;
        String query = \"select SUPPLIERS.SUP_NAME, COFFEES.COF_NAME \" +
                      \"from COFFEES, SUPPLIERS \" +
                      \"where SUPPLIERS.SUP_NAME like \'Acme, Inc.\' and \" +
                      \"SUPPLIERS.SUP_ID = COFFEES.SUP_ID\";
        Statement stmt;
   
        try {
            Class.forName(\"myDriver.ClassName\");

        } catch(java.lang.ClassNotFoundException e) {
            System.err.print(\"ClassNotFoundException: \");
            System.err.println(e.getMessage());
        }
   
        try {
            con = DriverManager.getConnection(url,
                                    \"myLogin\", \"myPassword\");
   
            stmt = con.createStatement();                           
   
            ResultSet rs = stmt.executeQuery(query);
            ResultSetMetaData rsmd = rs.getMetaData();
            int numberOfColumns = rsmd.getColumnCount();
            int rowCount = 1;
            while (rs.next()) {
                System.out.println(\"Row \" + rowCount + \":  \");
                for (int i = 1; i <= numberOfColumns; i++) {
                    System.out.print(\"  Column \" + i + \":  \");
                    System.out.println(rs.getString(i));
                }
                System.out.println(\"\");
                rowCount++;
            }
            stmt.close();
            con.close();

        } catch(SQLException ex) {
            System.err.print(\"SQLException: \");
            System.err.println(ex.getMessage());
        }   
    }
}

Avatar billede ejoergensen Nybegynder
07. december 2000 - 16:07 #2
Jeg har flg. fra et projekt vi har lavet:
Public class Hoved{
public static void main (String args[]) throws ClassNot FoundWxception, SQLException{

try

  Class.forName(\"sun.jdbc.odbc.JdbcOdbcDriver\");
Connection con = DriverManager.getconnection(\" jdbc:odbc:Databasenavn\",\"brugernavn\",\"nøgle\";
  con.setAutoCommit(true);
AC ac = new AC (con); //kalder min ApplicationCoordinator
}
catch (Exception e){
  System.out.println(\"Fejl i oprettelse af Connection\");
System.out.println(e);
}
}
}
Avatar billede ejoergensen Nybegynder
07. december 2000 - 16:09 #3
Har du husket at oprette datbasen først?
vores er lavet til access, men det skulle være nogetlunde ens til SQL -Baser.
Avatar billede tmo Nybegynder
07. december 2000 - 20:11 #4
Hej

Tak for hjælpen. Fejlen lå i opsætningen på MySQL severen. Nu svinger det

tmo
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