【问题标题】:Java and mysql communicationJava和mysql的通信
【发布时间】:2012-06-28 04:50:21
【问题描述】:

我正在用 Java 开发一个与 MySQL 数据库交互的 Web 服务。我已经开发了java中的数据库和Mysql中的存储过程的请愿书......但是通信不起作用。我总是收到这个错误:

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/madrim

我正在 Windows 上使用 Tomcat 服务器在 JAVA 中提供 Web 服务。我下载了mysql驱动(“mysql-connector-java-5.1.20-bin.jar”)并添加到tomcat的文件夹中(~\Tomcat 7.0\lib),但是什么也没做。

可能是什么?有什么提示吗?

这里有一点代码...:

    Connection con = null;
    Statement st = null;
    ResultSet rs = null;

    try 
    {           
        con = DriverManager.getConnection(DB_URL, DB_USER_NAME, DB_PASSWORD);
        st = con.createStatement();

        String query = BuildQuery();
        rs = st.executeQuery(query);

        returnObj.SetResult(rs);
    } 
    catch (SQLException ex) 
    {
        returnObj.SetException(DataException.SQL);
    } 

它坠毁并去抓。

编辑:更多内容。

Tomcat的context.xml:

<Context>    
<WatchedResource>WEB-INF/web.xml</WatchedResource>

<Resource name="jdbc/madrim" 

          auth="Container"

          type="javax.sql.DataSource" 

          username="root" 

          password="asdf"

          driverClassName="com.mysql.jdbc.Driver"

          url="jdbc:mysql://localhost:3306/madrim"

          maxActive="15" 

          maxIdle="3"/>  

</Context>

以及项目的WEB-INF/web.xml:

<resource-ref>
<description>AccesoBaseDeDatos</description>
<res-ref-name>jdbc/madrim</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>

【问题讨论】:

  • 如果您向我们展示代码的问题区域,这将有助于潜在的回答者。
  • @user1042031 IMO 不是很有用——这是一个网络应用程序,我们不知道 OP 是如何尝试初始化驱动程序的。
  • Driver not found 通常是缺少 jar 文件(在任何情况下是 web 或独立的)OP 应该将 Jar 文件放在 tomcat/lib 中(他做了)或在类路径中,如果有任何其他错误在连接代码中,错误会有所不同。
  • 您是否在 java 应用程序中注册了您的 jdbc 驱动程序?发布您的连接部件代码

标签: java mysql tomcat


【解决方案1】:

您应该将 MySQL 驱动程序添加到您的 构建路径 而不仅仅是 libs 文件夹。

如果您使用的是 Eclipse,那么您可以通过转到项目的 properties 然后轻松添加驱动程序

Java 构建路径 > 库 > 添加 JAR

如果仍然无法正常工作,请尝试重建您的项目。

【讨论】:

    【解决方案2】:

    只需尝试使用以下方法注册驱动程序:

    Class.forName("com.mysql.jdbc.Driver"); 
    

    它应该可以工作。

    【讨论】:

    • 我不明白这个。你能再解释一下吗?谢谢
    • 当我的开发服务器在tomcat6时我遇到类似的问题,而prod服务器在tomcat 7中,必须再次注册驱动程序并且它有效,我不知道为什么可能有人比我更好可以解释一下。
    猜你喜欢
    • 1970-01-01
    • 2015-06-29
    • 2017-10-10
    • 2013-12-26
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多