jdbc c3p0连接mysql 失败 原因汇总,求助

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jdbc c3p0连接mysql 失败 原因汇总,求助相关的知识,希望对你有一定的参考价值。

1,驱动配置有误:driver=com.mysql.jdbc.Driver
2,数据库连接地址有误:url=jdbc:mysql://localhost:3306/test?3useUnicode=true&characterEncoding=utf8
3,密码或帐号有误:username=root
password=root

4,数据库未启动或无权访问

5,项目未引入对应的驱动jar包mysql-connector-java-5.1.6-bin.jar

6,mysql root没有远程访问的权限,需要增加权限,增加权限的步骤如下:
进入mysql数据库:
grant all privileges on *.* to \'root\'@\'%\' identified by \'root\' with grant option;
flush privileges;

7.jdbc驱动要放到jre里面。
参考技术A 1驱配置误:driver=com.mysql.jdbc.Driver
2数据库连接址误:url=jdbc:mysql://localhost:3306/test?3useUnicode=true&characterEncoding=utf8
3密码或帐号误:username=root
password=root
4数据库未启或权访问
5项目未引入应驱jar包mysql-connector-java-5.1.6-bin.jar
6,mysql root没远程访问权限需要增加权限增加权限步骤:
进入mysql数据库:
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;本回答被提问者采纳
参考技术B

其他人的建议都给了

其实有个坑 properties文件中就是username会和系统名字冲突 把他改成user就行 建议其他的也对应c3p0的命名规则

还有就是版本问题 Mysql5.7以上的 建议用 8.0以上的的连接器 和 0.9.5.2的c3p0 

driver=com.mysql.cj.jdbc.Driver

还有些人的时区有问题url=jdbc:mysql://localhost:3306/test?3useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8

jdbc 连接oracle失败!请教原因

代码如下
public class JDBCDemo
public static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
public static final String DBURL = "jdbc:oracle:thin:@loaclhost:1521:ora9i" ;
public static final String DBUSER = "scott" ;
public static final String DBPASS = "tiger" ;
public static void main(String args[]) throws Exception
Class.forName(DBDRIVER) ;
Connection conn = null ;
PreparedStatement pstmt = null ;
ResultSet rs = null ;
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS) ;
String sql = "select ename from emp " ;
pstmt = conn.prepareStatement(sql) ;
rs = pstmt.executeQuery() ;
while(rs.next())
String name = rs.getString(1) ;
System.out.println(name) ;

rs.close() ;
pstmt.close() ;
conn.close() ;




错误信息提示如下:
Exception in thread "main" java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.wan.jdbc.demo.JDBCDemo.main(JDBCDemo.java:14)

程序看上去似乎没错,修改一点。
在连接数据库提取的数据这一段加上异常处理

注意以下几点:
1 Oracle jdbc包导进没有?
2 scott 用户是否解锁了?解锁了它的密码修改了还是仍然是tiger?
3 是否超过了最大连接数?
select count(*) from v$process; 查看是否超过或接近150;如果是的,修改最大连接数到300.
参考技术A 从错误提示信息看,应该是oracle的驱动包没有找到
oracle的数据库驱动包不是包含在java标准库内的,需要你自己去下载
或者也有可能你下载之后,没有放在java的类库路径内,这样就找不到了
参考技术B 你的OJDBC.jar没导,或者是对应的包的版本不对

你如果ORACLE 10G用的是9G的jar就会出错的
参考技术C oracle的jar包没有吧 参考技术D 问题是oracle jdbcjar包没有导入
如果导入了就代表你的jar包的版本不对
第5个回答  2010-06-23 报的是类没有找到错误,原因是类加载错误,很可能的原因是jdbc包未导入。

以上是关于jdbc c3p0连接mysql 失败 原因汇总,求助的主要内容,如果未能解决你的问题,请参考以下文章

Mysql----JDBC 连接池 DBCP C3P0

JDBC(c3p0)

数据库连接池 Druid和C3p0

数据库连接池 Druid和C3p0

JDBC整合c3p0数据库连接池 解决Too many connections错误

jdbc连接池中c3p0的配置文件的详解以及在在java中如何使用