Avatar billede neskire_neros Nybegynder
13. december 2001 - 22:09 Der er 2 kommentarer

MySQL og tomcat

Hej eksperter...

Jeg prøver at køre en jsp-app op mod en mysql-server, på tomcat.
Skal der ændres i server.xml for at dette kan virke?

Jeg har downloadet mm.mysql-2.0.4-bin.jar og addet den til JAVA_HOME\\jre\\lib\\ext... men får at vide at min serverkonfiguration ikke tillader en forbindelse til datakilden...
Avatar billede lbhansen Nybegynder
13. december 2001 - 23:14 #1
Det kommer sådan set an på hvordan du tilgår den.

Hvordan initialiserer du forbindelsen?

ved brug af Class.forName(\"etc......\");

eller ved at bruge datasources(kan ikke lige huske hvordan det spiller i tomcat)

Du kan måske også skrive den eksakte fejl
Avatar billede disky Nybegynder
14. december 2001 - 09:35 #2
du skal nævne jar filen i din classpath.

Prøv med disse klasser.

Du bruger denne klasse:

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;
    }
}



Og kalder den med denne her:

/**
*
* @author  srr
* @version
*/
public class Database extends dbHandler
{
   
    /** Creates new Database */
    public Database()
    {
    }

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


Så kalder du doQuery() med en sql streng og får et resultset tilbage.



p.s. Smid tomcat ud, den skaber kun problemmer.
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