SORU
5 NİSAN 2011, Salı


Nasıl düzeltmek için: "uygun bir sürücü bulunmaktaydı bulunamadı havuzları kullanırken://localhost/dbname" hata mysql?

Sorunsuz bir şekilde çalışır ana yöntem kullanarak, benim kod test koyduğumda benim veritabanına bir bağlantı oluşturmak için çalışıyorum. Erişmek için çalışırken ancak, Tomcat hata ile başarısız 7,:

No suitable driver found for jdbc:mysql://localhost/dbname. 

Havuzu kullanıyorum. Bağlayıcı (5.1.15), dbcp (1.4) , havuz(1.4.5) mysql WEB-INF/lib ve kütüphaneler koydum .iyi sınıf. Eclipse IDE kullanıyorum. Veritabanı sürücüsü için benim kod:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import org.apache.tomcat.dbcp.dbcp.ConnectionFactory;
import org.apache.tomcat.dbcp.dbcp.DriverManagerConnectionFactory;
import org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory;
import org.apache.tomcat.dbcp.dbcp.PoolingDriver;
import org.apache.tomcat.dbcp.pool.impl.GenericObjectPool;

public class DatabaseConnector {
    public static String DB_URI = "jdbc:mysql://localhost/dbname";
    public static String DB_USER = "test";
    public static String DB_PASS = "password";

    // Singleton instance
    protected static DatabaseConnector _instance;

    protected String _uri;
    protected String _username;
    protected String _password;

    /**
     * Singleton, so no public constructor
     */
    protected DatabaseConnector(String uri, String username, String password) {
        _uri = uri;
        _username = username;
        _password = password;

        GenericObjectPool connectionPool = new GenericObjectPool(null);
        ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(
            _uri, _username, _password);
        PoolableConnectionFactory poolableConnectionFactory =
            new PoolableConnectionFactory(connectionFactory, connectionPool,
                                            null, null, false, true);
        PoolingDriver driver = new PoolingDriver();
        driver.registerPool("test", connectionPool);
    }

    /**
     * Returns the singleton instance
     */
    public static DatabaseConnector getInstance() {
        if (_instance == null) {
            _instance = new DatabaseConnector(DB_URI, DB_USER, DB_PASS);
        }
        return _instance;
    }

    /**
     * Returns a connection to the database
     */
    public Connection getConnection() {
        Connection con = null;
        try {
            con = DriverManager.getConnection("jdbc:apache:commons:dbcp:test");
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
        return con;
    }
}

Yığın benim başlangıç izleme:

Apr 5, 2011 9:49:14 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Login] in context with path [/Project] 
threw exception
java.lang.RuntimeException: java.sql.SQLException: 
No suitable driver found for jdbc:mysql://localhost/dbname

Bu hataya neden olan ne?

CEVAP
5 NİSAN 2011, Salı


Server lib klasöründe sürücü kavanoza koyarak deneyin. ($CATALİNA_HOME/lib)

Bağlantı havuzu uygulama örneği bile önce kurulması gerektiğini düşünüyorum. (En azından Jboss böyle işliyor)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Amir Parmar

    Amir Parmar

    25 Kasım 2010
  • J Medema

    J Medema

    11 EKİM 2006
  • TecNoob

    TecNoob

    15 AĞUSTOS 2013