类型不匹配:无法从 java.sql.Connection 转换为 com.mysql.jdbc.Connection
Posted
技术标签:
【中文标题】类型不匹配:无法从 java.sql.Connection 转换为 com.mysql.jdbc.Connection【英文标题】:Type mismatch: cannot convert from java.sql.Connection to com.mysql.jdbc.Connection 【发布时间】:2014-02-12 11:38:32 【问题描述】:import java.io.IOException;
import java.sql.DriverManager;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mysql.jdbc.*;
*// Here,in below 2 statement, I got 2 the same error as shown in title*
**Connection con = DriverManager.getConnection("localhost:3306", "root","simple");
Statement stmt = con.createStatement();**
if(stmt.execute(sql))
System.out.println("Sql Statement Executed.");
else
System.out.println("Sql Statement not eexecuted.");
if((unm != null) && (pwd != null))
RequestDispatcher rd =request.getRequestDispatcher("Home.jsp");
rd.forward(request, response);
我正在尝试将数据从 servlet 发送到 mysql 服务器,但在 servlet 中我得到了
错误:“”
谁能建议我为我的代码删除错误的方法。我不明白。
【问题讨论】:
【参考方案1】:我认为您使用了错误的连接字符串,并且驱动程序管理器不知道如何实例化连接。 documentation 有更多关于格式的信息。
它认为代码应该是这样的
con = DriverManager.getConnection("jdbc:mysql://localhost/test","root","simple");
我认为导入存在问题,如另一个问题所述:Type mismatch: cannot convert from Connection to Connection,您需要import java.sql.Connection;
编辑
要修复 DriverManager 错误,您需要使用以下代码注册驱动程序(取自 mysql 文档)
try
// The newInstance() call is a work around for some
// broken Java implementations
Class.forName("com.mysql.jdbc.Driver").newInstance();
catch (Exception ex)
// handle the error
【讨论】:
谢谢,Augusto 的回复,是的,它已解决,但我仍然收到“无法解决 DriverManager”错误.. 你可能还没有注册mysql驱动。请阅读此documentation【参考方案2】:删除import com.mysql.jdbc.*
并使用import java.sql.Connection
。我想会没问题的。
【讨论】:
是的,它甚至可以工作,但我想使用 mysql 作为后端工具,DriverManager 无法解决错误仍然来.. 匆忙,我忘了,这是javase规范中提供的连接接口,它处理DriverManger给出的对象>getConnection()...!!【参考方案3】:我正在回答一个老问题,但我遇到了同样的问题,我通过导入所有库解决了这个问题:
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*;
希望对你有帮助。
【讨论】:
【参考方案4】:尝试导入 java.sql.Connection 和 java.sql。* 我希望它会起作用。我也遇到了这个错误,我尝试了很多方法来解决它,但我也从你在这个页面的测验中得到了它。我能够解决它。
谢谢你们所有的救生员
【讨论】:
正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。以上是关于类型不匹配:无法从 java.sql.Connection 转换为 com.mysql.jdbc.Connection的主要内容,如果未能解决你的问题,请参考以下文章
类型不匹配:无法从 java.sql.Connection 转换为 com.mysql.jdbc.Connection
Android - 上下文 - Google Maps V2 - 类型不匹配:无法从 Object 转换为 WindowManager