- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
不知道这段代码有什么问题?它抛出一个 SQL 异常:没有找到适合 jdbc:mysql://localhost:3306/test 的驱动程序。
但是我已经包含了 jar 文件mysql-connector-java-5.0.8-bin.jar
我尝试通过数据源通过连接池获取连接。
希望有人能帮我解决这个问题。
如果有任何日志记录错误,请忽略我希望有人解决上面突出显示的连接错误
import java.sql.*;
import javax.annotation.Resource;
import javax.naming.*;
import javax.sql.*;
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.PoolingDataSource;
import org.apache.tomcat.dbcp.pool.impl.GenericObjectPool;
public class GetConnection {
/** Uses JNDI and Datasource (preferred style). */
@Resource(name = "jdbc/test")
DataSource ds;
static final String DRIVER = "com.mysql.jdbc.Driver";
static final String DATASOURCE_CONTEXT = "java:comp/env/jdbc/test";
private GenericObjectPool connectionPool = null;
public static final String URL = "jdbc:mysql://localhost:3306/test";
public static final String USERNAME = "root";
public static final String PASSWORD = "secret_password";
public GetConnection() {
System.out.println("enteredin to the new get connection");
/*try {
Context context = new InitialContext();
ds = (DataSource) context.lookup(DATASOURCE_CONTEXT);
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
try {
ds = setUp();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public DataSource setUp() throws Exception {
Class.forName(GetConnection.DRIVER).newInstance();
connectionPool = new GenericObjectPool();
connectionPool.setMaxActive(10);
ConnectionFactory cf = new DriverManagerConnectionFactory(
GetConnection.URL, GetConnection.USERNAME,
GetConnection.PASSWORD);
PoolableConnectionFactory pcf = new PoolableConnectionFactory(cf,
connectionPool, null, null, false, true);
return new PoolingDataSource(connectionPool);
}
public GenericObjectPool getConnectionPool() {
return connectionPool;
}
/**
* Sets up the dataSource for the connection
*/
/**
* returns the connection object from the datasource
*
* @return the connection object
*/
public Connection getJNDIConnection() {
System.out.println("entered in to the get jndi connection");
System.out.println(ds);
System.out.println("checking the ds value");
Connection result = null;
try {
System.out.println("Inside try");
/*Context initialContext = new InitialContext();
this.ds = (DataSource) initialContext.lookup(DATASOURCE_CONTEXT);*/
if (ds != null) {
result = this.ds.getConnection();
System.out.println("connection done");
} else {
log("Failed to lookup datasource.");
System.out.println("connection not done");
}
} /*catch (NamingException ex) {
ex.printStackTrace();
System.out.println("naming excepti9on");
log("Cannot get connection: " + ex);
} */catch (SQLException ex) {
ex.printStackTrace();
System.out.println("sqlexception");
log("Cannot get connection: " + ex);
}
return result;
}
private static void log(Object aObject) {
System.out.println(aObject);
}
}
项目的上下文文件如下所示
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource" username="root" password="secret_password" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test;create=true" />
</Context>
堆栈跟踪如下
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/test
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.apache.tomcat.dbcp.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:75)
at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
at org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1158)
at org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
at com.new.connection.GetConnection.getJNDIConnection(GetConnection.java:81)
at com.new.daoclass.CreateUserAgreement.createUser(CreateUserAgreement.java:17)
at com.new.bean.useragreement.UserAgreementBean.createagreement(UserAgreementBean.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
at org.apache.myfaces.view.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:83)
at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:88)
at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:100)
at javax.faces.component.UICommand.broadcast(UICommand.java:120)
at javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:937)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:271)
at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1249)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:675)
at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:34)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
最佳答案
请将其放入${CATALINA_HOME}/lib
目录下并重启服务器。这是因为您正在尝试从池访问连接,该连接应由 tomcat 在配置数据源期间创建。因此,它需要mysql-driver.jar
来配置数据源。因此,通过将 jar 放在 tomcat/lib 中来提供它。可以从这个link下载。
关于java - 通过连接池建立 MySQL JDBC 连接失败 : SQL Exception: No suitable driver found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22423496/
我一直遇到 mySQL 数据库连接问题。我收到一个错误: No suitable driver found for jdbc:mysql://127.0.0.1/sakila. 我已经安装了 mySQ
我正在尝试编写一个带有嵌入式 Derby 的程序,但是当我运行它时,它显示: run: Jul 14, 2017 9:19:54 PM gfdh.Login Doconnect SEVERE: nul
我正在尝试在转换 String 的 List 后对 Integer 的 List 进行排序转换为Integer List。它给了我这个错误: no suitable method found for
我能够很好地部署我的 war ,当我尝试运行它时,我在控制台日志中收到一些运行时错误 Cannot create JDBC driver of class 'oracle.jdbc.OracleDri
我正在开始 Android 编程。我无法编译我的程序,因为出现以下错误: 错误:没有找到适合 ArrayAdapter() 的构造函数 这是我的个人适配器: public class StationL
我正在尝试解码 Base64 图像并将其放入 WPF 图像源中。但是,我使用的代码有一个错误: No imaging component suitable to complete this opera
我在客户端和服务器上都设置了使用 Jaxb2 的 MarshallingMessageConverter 关注 this问题。 这是在服务器端: @Configuration @EnableWebMv
我们正在将 Struts 1.2 项目从 JDK 1.6 迁移到 1.8,并将应用程序服务器 jboss5.1 迁移到 tomcat 8.5。所以我们开始将 JNDI 数据源链接到 tomcat,但似
我是 java 新手,正在尝试为 Minecraft 制作模组,但我不知道如何修复此错误: src\minecraft\net\minecraft\src\ThreadConnectToServer.
我最近一直在做一个项目,在这个项目中我最终使用了一个扩展另一个类(即连接和传输)的类。我收到的错误是“错误:没有找到适合 Connection 的构造函数(无参数)”。错误是在 Transfer 中构
我正在尝试使用 JDBC 接收器连接器将 Kafka 与 Postgres 接收器结合使用。 异常: INFO Unable to connect to database on attempt 1/3
这个问题已经有答案了: Connect Java to a MySQL database (14 个回答) 已关闭 6 年前。 java.sql.SQLException: No suitable d
我正在制作一个简单的注册程序,当我单击“提交”到我的 IDE 日志时,我收到此错误: java.sql.SQLException: No suitable driver found for jdbc:
我在使用 java 和 jdbc 时遇到了一些问题。特别是,虽然我的代码在 NetBeans 项目中完美运行,但当我尝试在终端或 ubuntu vps(这是我需要它工作的地方)上执行它时,我总是遇到此
我有一个带有图像 uploader 的网站,每当用户尝试上传图像时,他们都会收到此错误消息: “没有合适的节点可以满足您的请求。” 我已经联系了托管公司(mosso),他们说这对他们来说没什么。知道导
美好的一天! 我知道有很多关于此类问题的帖子,但由于我使用的是嵌入式 Derby,所以我查看了其中一些帖子但找不到问题的答案。 我收到这个错误: ##THIS IS GENERATED BY THE
我正在编写一个必须调用休息服务的 spring mvc 应用程序(Spring 新手)。我在我的 VM(Linux 中的 weblogic 10.3.6)中部署了其余服务,我正在编写的应用程序在我的本
我正在使用 GUICE 进行依赖项注入(inject),以使用 Dropwizard 构建 RESTful API。这是我收到的错误: com.google.inject.ConfigurationE
您好!终于开始学习 C,我认为是时候开始使用调试器了。此时我使用 Gvim 作为编辑器,使用命令行进行编译。在尝试了几个调试器(KDbg、ddd、insight)之后,运行 gdb 似乎是目前最简单和
我正在实现他们文档中给出的 firebase 示例。我面临这个错误: com.fasterxml.jackson.databind.JsonMappingException: No suitable
我是一名优秀的程序员,十分优秀!