Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql java.sql.SQLException:未找到适合本地主机测试的驱动程序_Mysql_Gwt_Jdbc - Fatal编程技术网

Mysql java.sql.SQLException:未找到适合本地主机测试的驱动程序

Mysql java.sql.SQLException:未找到适合本地主机测试的驱动程序,mysql,gwt,jdbc,Mysql,Gwt,Jdbc,当尝试连接到mysql时,我总是遇到以下错误: java.sql.SQLException:未找到适合本地主机测试的驱动程序 我已经在我的应用程序的/WEB-INF/lib中包含了mysql connector.jar。我还需要配置什么才能使其正常工作?我需要在web.xml中添加一些内容吗?我没有用appengine 以下是我在服务器中的代码: package com.mysql.server; import java.sql.Connection; import java.sql.Dri

当尝试连接到mysql时,我总是遇到以下错误:

java.sql.SQLException:未找到适合本地主机测试的驱动程序

我已经在我的应用程序的
/WEB-INF/lib
中包含了
mysql connector.jar
。我还需要配置什么才能使其正常工作?我需要在
web.xml
中添加一些内容吗?我没有用appengine

以下是我在服务器中的代码:

package com.mysql.server;

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

import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import com.mysql.client.ConnDb;

public class ConnDbImpl extends RemoteServiceServlet implements ConnDb {
   public Connection con;
   @Override
    public String tryConn() {
     try{
       String host = "localhost";
       String db = "test";
       String driver = "com.mysql.jdbc.Driver";
       String user = "root";
       String pass = "pwd";

       Class.forName(driver).newInstance();
       con = DriverManager.getConnection(host+db, user, pass);
       return "Connected to Database";
     } catch(Exception ex) {
         return ex.toString();
     }    
   } 
}

当按照该方法加载的任何JDBC驱动程序都不接受JDBC URL时,将出现此异常。实际上,您忘记了JDBC驱动程序特定的URI前缀。对于MySQL JDBC驱动程序,这是
JDBC:MySQL://
。完整连接URL应如下所示:

con = DriverManager.getConnection("jdbc:mysql://localhost/test", user, pass);
另见:

我找到了此错误消息的另一个原因。在我的例子中,用户对数据库没有权限,例如对所选表没有权限。亲爱的驱动程序开发人员,为什么使用这些误导性错误消息?很多人在这方面都遇到了麻烦。

对我来说,我忘记了在项目库中包含MySQLJDBC驱动程序。啊

这是一个错误:

Connection connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/lib_db","root","root");
但当我把它改成:

Connection-Connection=DriverManager.getConnection(“jdbc:mysql://localhost/db_name?“+”user=root&password=root“


错误已消失

非常感谢,它现在正在工作!。。我也有同样的问题。现在,它对我也起作用了。谢谢你,如果我没有一直阅读你的回复,我可能会走上一两天的兔子洞,试图找出如何修复我的服务器安装。多么奇怪的错误消息!