Java与mysql通信
我正在用Java开发一个与MySQL数据库交互的web服务。我已经开发了java数据库的请愿书和Mysql中的存储过程。。。但这种交流不起作用。我总是收到以下错误:Java与mysql通信,java,mysql,tomcat,Java,Mysql,Tomcat,我正在用Java开发一个与MySQL数据库交互的web服务。我已经开发了java数据库的请愿书和Mysql中的存储过程。。。但这种交流不起作用。我总是收到以下错误: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/madrim 我正在使用Tomcat服务器在Windows上运行JAVA中的web服务。我下载了mysql驱动程序(“mysql-connector-java-5.1.20
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/madrim
我正在使用Tomcat服务器在Windows上运行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
以及项目的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>
ACCESOBASEDEATOS
jdbc/madrim
javax.sql.DataSource
容器
您应该将MySQL驱动程序添加到您的构建路径中,而不仅仅是添加到libs文件夹中 如果您使用的是Eclipse,那么您可以通过转到项目的属性轻松添加驱动程序 Java构建路径>库>添加JAR
如果仍无法正常工作,请尝试重建项目。只需使用以下方法注册驱动程序:
Class.forName("com.mysql.jdbc.Driver");
它应该可以工作。如果您向我们展示代码中的问题区域,这将有助于潜在的回答者。检查@user1042031 IMO不是很有用——这是一个web应用程序,我们不知道OP是如何尝试初始化驱动程序的。找不到驱动程序通常会丢失jar文件(在任何情况下是web或单机版)。OP都应该将jar文件放在tomcat/lib中(他做到了)或者在类路径中,如果连接代码中有任何其他错误,则错误会有所不同。您是否向java应用程序注册了jdbc驱动程序?发布您的连接部分代码我不明白。您能再解释一下吗?谢谢,当prod服务器处于运行状态时,我的开发服务器在tomcat6中遇到了类似的问题mcat 7,必须再次注册驱动程序,它成功了,我不知道为什么可能有比我更好的人可以解释这一点。