相关疑难解决方法(0)

如何修复:"使用池时没有找到适合jdbc:mysql:// localhost/dbname的驱动程序"错误?

我正在尝试创建与我的数据库的连接,当我使用main方法测试我的代码时,它可以无缝地工作.但是,当尝试通过Tomcat 7访问它时,它会失败并显示错误:

No suitable driver found for jdbc:mysql://localhost/dbname. 
Run Code Online (Sandbox Code Playgroud)

我正在使用汇集.我在WEB-INF/lib和.classpath中放入了mysql连接器(5.1.15),dbcp(1.4)和pool(1.4.5)库.我正在使用Eclipse IDE.我的数据库驱动程序代码是:

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) { …
Run Code Online (Sandbox Code Playgroud)

mysql jdbc tomcat7 apache-commons-dbcp

92
推荐指数
6
解决办法
45万
查看次数

连接数据库时Class.forName("oracle.jdbc.driver.OracleDriver")的实际用途是什么?

命令是什么

Class.forName("oracle.jdbc.driver.OracleDriver")
Run Code Online (Sandbox Code Playgroud)

连接到Oracle数据库时确实做到了吗?是否有另一种做同样事情的方法?

java jdbc

87
推荐指数
3
解决办法
19万
查看次数

如果不使用返回值,Class.forName()的用途是什么?

我在示例应用程序中看到了使用商业JDBC驱动程序的这一行:

Class.forName("name.of.a.jcdb.driver")
Run Code Online (Sandbox Code Playgroud)

不使用返回值.

这条线的目的是什么?

java jdbc classloader

20
推荐指数
3
解决办法
6121
查看次数

Java Class.forName,JDBC连接加载驱动

在进行简单的 JDBC 连接时,所有资源都提供相同的代码

String driver = "com.mysql.jdbc.Driver";
Statement statement = null; 
Class.forName(driver); 
Connection conn  = DriverManager.getConnection(url + dbName,userName, password);
Run Code Online (Sandbox Code Playgroud)

但我们实际上与“Class.forName(driver)”无关。我们没有把它存放在任何地方。这有什么用,因为我们与 Class.forName(driver) 的返回无关。

java mysql jdbc

4
推荐指数
1
解决办法
2万
查看次数

连接数据库时Tomcat找不到JDBC驱动程序

我已经把 mysql 驱动程序放进去了.../ROOT/WEB-INF/lib,Tomcat 8.0/lib但它没有效果。我正在使用以下类连接到数据库:

package db;

import java.sql.*;

public class ConnectToDB implements AutoCloseable {
    Connection con;

    public ConnectToDB(String server, String database, String user,
            String password) throws SQLException {
        con = DriverManager.getConnection("jdbc:mysql://" + server + "/"
                + database, user, password);
    }

    @Override
    public void close() throws SQLException {
        con.close();
    }

    public Connection getConnection() {
        return con;
    }

}
Run Code Online (Sandbox Code Playgroud)

Eclipse 项目中包含以下类:

1. src/nr3/模型

package nr3.model;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import db.ConnectToDB;
public …
Run Code Online (Sandbox Code Playgroud)

mysql servlets tomcat8

4
推荐指数
1
解决办法
2236
查看次数

为什么调用Class.forName("com.mysql.jdbc.Driver")注册MySQL for JDBC?

正如"Class.forName()"和"Class.forName().newInstance()"之间的区别所解释的那样?,Class.forName()方法执行以下操作:

调用Class.forName(String)返回与具有给定字符串名称的类或接口关联的Class对象

但是,如果它只是这样做,为什么需要调用这个方法才能将MySQL与Java一起使用呢?没有它我得到以下错误:

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/calender
    at java.sql.DriverManager.getConnection(DriverManager.java:689)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at Database.main(Database.java:25)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Run Code Online (Sandbox Code Playgroud)

java mysql jdbc

3
推荐指数
1
解决办法
1227
查看次数

java.sql.SQLException:找不到适合jdbc:sqlserver的驱动程序

我正在开发一个Web应用程序,我正在动态创建MSSQLSERVER 2008数据库.

但它给了我

java.sql.SQLException: No suitable driver found for jdbc:sqlserver://localhost:1433;databaseName=master
Run Code Online (Sandbox Code Playgroud)

我的代码是:

String dbName = "db1";
try {
    String url = "jdbc:sqlserver://localhost:1433;databaseName=master";
    Connection connection = DriverManager.getConnection(
                 url,
                 "sa",
                 "roshan14121987");

    Statement statement = connection.createStatement();
    String sqlquery = "CREATE Database \"" + dbName + "\"; ";
    statement.executeUpdate(sqlquery);
    statement.close();

    connection.close();

} catch(Exception e) {
    e.printStackTrace(); 
}
Run Code Online (Sandbox Code Playgroud)

我在lib中添加了sqljdbc4.jar.我已经在NetBeans(使用GlassFish和Tomcat Server)和Eclipse IDE(Tomcat Server)上尝试过它.

另一方面,我尝试使用简单的桌面应用程序,它在两个IDE上都运行良好.在lib中添加了sqljdbc4.jar.

java jdbc sqlexception sql-server-2008

1
推荐指数
1
解决办法
3万
查看次数