关于java.sql.SQLException: No suitable driver问题的解决

最近写一个小程序时遇到的问题:我是用c3p0连接池进行数据库连接、myeclipse2014环境中导入的eclipse的项目、在c3p0配置文件(c3p0-config.xml)中配置如下:

<?xml version="1.0" encoding="UTF-8"?>
	<c3p0-config>
		<default-config>
			<property name="driverClass">com.mysql.jdbc.Driver</property>
			<property name="jdbcUrl">jdbc\:mysql\://172.1.1.1\:3306/ssms</property>
			<property name="user">root</property>
			<property name="password">Admin_123</property>
		</default-config>
	
	</c3p0-config>

在Tomcat7.0下部署、然后启动Tomcat后报错如下:

java.sql.SQLException: No suitable driver
 at java.sql.DriverManager.getDriver(Unknown Source)
 at com.mchange.v2.c3p0.DriverManagerDataSource.driver(DriverManagerDataSource.java:144)
 at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:68)
 at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:87)
 at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1.acquireResource(C3P0PooledConnectionPool.java:83)
 at com.mchange.v2.resourcepool.BasicResourcePool.assimilateResource(BasicResourcePool.java:884)
 at com.mchange.v2.resourcepool.BasicResourcePool.acquireUntil(BasicResourcePool.java:601)
 at com.mchange.v2.resourcepool.BasicResourcePool.access$400(BasicResourcePool.java:31)
 at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1079)
 at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:354)
报错异常提示是说:没有合适的驱动;其实不然,网上查了一下很多原因不在于驱动的问题,而是jdbcUrl有问题,我就是如此,正确如下:

<property name="jdbcUrl">jdbc:mysql://172.1.1.1:3306/ssms</property>
多写了转义反斜杠"\"。

当然还有其他情况也不排除:

比如:驱动name写错(driverClass写成DriverClassName)、URL的name写错(jdbcUrl写成url)、或者真的是没有加载jdbc驱动包导致

最后提醒各位码农同胞们,一定要仔细点哈!



  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 这是由于Java程序无法找到适合的数据库驱动程序所引起的异常。可能是因为没有正确地加载数据库驱动程序或者没有将驱动程序添加到类路径中。需要检查程序中是否正确加载了数据库驱动程序,并且确保驱动程序的jar包已经添加到类路径中。 ### 回答2: 这个错误是Java程序连接数据库时遇到的一种错误。这个错误表明程序需要的数据库驱动程序不能被找到或者没有正确的安装。 在Java中,要连接到一个数据库需要使用相应的数据库驱动程序。这个驱动程序需要通过Class.forName()方法进行加载。 如果程序中没有加载这个驱动程序,就会出现“no suitable driver”的错误。这个错误也可能是因为驱动程序没有正确安装或者安装错误。 解决这个问题的方法是检查程序中是否有正确的数据库驱动程序的类名,确保它们被正确地加载。如果驱动程序没有正确安装,就需要重新安装并配置正确的环境。 另外,需要注意的是不同的数据库有不同的驱动程序。如果程序要连接到不同类型的数据库,需要确定它所使用的驱动程序是否正确并已经正确加载。 总之,当Java程序出现“no suitable driver”的错误时,需要仔细检查程序中是否正确加载了相应的数据库驱动程序,并且确认驱动程序已经正确安装并配置了正确的环境。 ### 回答3: 在Java中,当我们想要连接数据库进行数据操作时,需要使用JDBC驱动程序。JDBC驱动程序是用于在Java程序中连接到数据库的API。但是,很多初学者在编写Java代码时经常会遇到一个错误:“caused by: java.sql.sqlexception: no suitable driver”。此错误通常是由于以下两个原因之一导致的。 第一,缺少JDBC驱动程序。在使用JDBC命令时,你需要在程序中导入使用的驱动程序。如果没有导入这个驱动程序,你就会在执行该代码时出现no suitable driver错误。因此,在使用JDBC命令之前,你需要先确保已经正确地导入了驱动程序。 第二,连接URL格式错误。另一个导致no suitable driver错误的原因是数据库连接URL的格式错误。当你尝试连接到数据库时,你需要为连接提供数据库URL。如果URL格式不正确,就会出现异常。因此,在编写程序时,请确保提供正确的URL地址。 综上所述,如果你在Java中的使用JDBC时出现了no suitable driver错误,应该考虑上述两个原因。要解决问题,你需要导入正确的JDBC驱动程序,并确保提供正确的连接URL,这样你的程序就能顺利运行了。如果你依然无法解决问题,可以通过检查代码、检查数据库连接和检查网络连接等方式来进行排查。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张小洛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值