Avatar billede kloppie Nybegynder
06. december 2001 - 09:37 Der er 10 kommentarer og
1 løsning

Tilgang til MySQL fra Java

Jeg har brug for at kunne tilgå min MySQL-db fra Java. Hvilke drivere skal jeg bruge og hvordan installeres de? Jeg har haft det til at køre gennem min resin-server, men ved ikke hvordan jeg griber det an når det skal afvikles i en Java-applikation.
Avatar billede disky Nybegynder
06. december 2001 - 09:42 #1
på samme måde

Men hent en driver på:
http://www.mysql.org/Downloads/Contrib/mm.mysql-2.0.4-bin.jar

med den driver connecter du på samme måde som du gjorde igennem Resin.
Avatar billede kloppie Nybegynder
06. december 2001 - 09:51 #2
Dit link virker ikke og jeg kan heller ikke finde den udgave manuelt på deres side. Og når jeg finder den, hvordan bruger jeg den så?
Avatar billede disky Nybegynder
06. december 2001 - 09:55 #3
den virker perfekt herfra.

eller prøv her:
http://mysql.borsen.dk/Downloads/Contrib/mm.mysql-2.0.4-bin.jar


Jeg har lige hentet den derfra med stor success
Avatar billede kloppie Nybegynder
06. december 2001 - 09:59 #4
Ja, har fået den. Tak! Men hvordan bruger jeg den fra min app? Hvordan får jeg den loaded?
Avatar billede disky Nybegynder
06. december 2001 - 10:04 #5
Sådanne her:

import java.sql.*;

/**
*
* @author  srr
* @version
*/
public class dbHandler extends Object
{
   
    private Connection con=null;

    /** Creates new DataBase */
    public dbHandler()
    {
    }

    public boolean open(String dbDriverName, String dbClassName, String user, String pass)
    {           
//        System.out.println(\"************************************************************************\");
        try
        {
            if(con==null)
            {
                Class.forName(dbDriverName).newInstance();
                con = DriverManager.getConnection(dbClassName, user, pass);
//                System.out.println(\"con = \"+con);
            }
        }
        catch (SQLException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        catch (ClassNotFoundException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        catch (InstantiationException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        catch (IllegalAccessException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        return true;
    }
   
    public void close()
    {
        if(con!=null)
        {
            try
            {
                con.close();
                con=null;
            }
            catch (SQLException e)
            {
                e.printStackTrace(System.out);
            }
        }
    }
   
    public int doUpdate(String sql)
    {
        if(con!=null)
        {
            try
            {
                long time=System.currentTimeMillis();
                Statement stat=con.createStatement();
//                System.out.println(\"SQL Update = \"+(System.currentTimeMillis()-time)+\" ms  \"+sql);
                return stat.executeUpdate(sql);       
            }
            catch (SQLException e)
            {
                e.printStackTrace(System.out);
            }
        }
        return 0;
    }

    public ResultSet doQuery(String sql)
    {
        if(con!=null)
        {
            try
            {
                long time=System.currentTimeMillis();
                Statement stat=con.createStatement();
//                System.out.println(\"SQL Update = \"+(System.currentTimeMillis()-time)+\" ms  \"+sql);
                return stat.executeQuery(sql);       
            }
            catch (SQLException e)
            {
                e.printStackTrace(System.out);
            }
        }
        return null;
    }
}




Du kalder den med:

public class Database extends dbHandler
{
   
    /** Creates new Database */
    public Database()
    {
    }

    public boolean open()
    {
        return super.open(\"org.gjt.mm.mysql.Driver\",\"jdbc:mysql://DBSERVERNAVN\",\"USERNAVN\",\"PASSWORD\");
    }
}


ret det med uppercase.
Avatar billede kloppie Nybegynder
06. december 2001 - 10:13 #6
Ok, det er perfekt. Men hvordan får jeg adgang til driveren? Hvor skal jeg ligge jar-filen? Jeg bruger Visual Age. Men er det i java/lib at jeg skal ligge den?
Avatar billede disky Nybegynder
06. december 2001 - 10:15 #7
nå på den måde :)

Du gemmer den lige der hvor du ønsker det

jeg gemmer den i /lib/ext

Men du SKAL specificerer jar filen specifikt i din classpath.

Så skulle det bare virke
Avatar billede kloppie Nybegynder
06. december 2001 - 12:39 #8
I Visual Age er jeg nød til at add\'e jar-filen til projektet før det virker. Er det ikke mærkeligt?
Avatar billede disky Nybegynder
06. december 2001 - 12:43 #9
det er nok et visual age specifikt problem.
Avatar billede kloppie Nybegynder
06. december 2001 - 12:48 #10
Jeg har lavet en klasse, som \'handler\' alt som har med forbindelsen at gøre. Den klasse bruger jeg så fra min app. For at det skal virke skal app\'en også kende jar-filen. Hvorfor?
Avatar billede disky Nybegynder
06. december 2001 - 12:50 #11
den skal ikke kende den, men bare være i din CLASSPATH

For ellers kan din application jo ikke vide hvor den skal søge efter klassen
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