碰到no suitable driver found for jdbc:mysql//localhost:3306/qzhao 错误

我在家里的电脑上用eclipse建了一个简单的hibernate工程.

运行的时候碰到no suitable driver found for jdbc:mysql//localhost:3306/qzhao 异常。 我在网上搜了很多答案,比如把jar放在jre/lib/ext下面,都不行。

奇怪的是在我单位工作电脑上,同样的项目就能work。也没有把jar包放在jre下面。我家里用的是win7,jdk装在C:\pogram files下面。连接配置都是好的。还有家里mysql是和eclipse装在同一台电脑上。工作单位是在服务器上。

请高手解释?昨晚折腾了一夜。最后网速暴慢就睡觉了。
[b]问题补充:[/b]
我的不是一个web程序,就是一个普通的eclipse java project。我已经把jar加到eclipse project里面了。而且用这个jar包用一般的java code可以连接啊
[b]问题补充:[/b]
谢谢各位的答案

出现这样的情况,一般有四种原因:

一:连接URL格式出现了问题(Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/XX","root","XXXX")

    <!-- Database connection settings -->
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="connection.url">jdbc:mysql://10.111.3.244:3306/qzhao_opbook</property>
    <property name="connection.username">qzhao</property>
    <property name="connection.password">qzhao</property>

    <!-- JDBC connection pool (use the built-in) -->
    <property name="connection.pool_size">1</property>

    <!-- SQL dialect -->
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

    <!-- Enable Hibernate's automatic session context management -->
    <property name="current_session_context_class">thread</property>

    <!-- Disable the second-level cache  -->
    <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

    <!-- Echo all executed SQL to stdout -->
    <property name="show_sql">true</property>

    <!-- Drop and re-create the database schema on startup -->
    <property name="hbm2ddl.auto">update</property>

    <mapping resource="org/hibernate/tutorial/domain/Event.hbm.xml" />

而且在我单位电脑能work

二:驱动字符串出错(com.mysql.jdbc.Driver)

三:Classpath中没有加入合适的mysql_jdbc驱动(驱动要和你的数据库版本一致)
这个我用的是mysql-connector-java-5.0.4-bin.jar,数据库是5.0

四:驱动jar包放的位置不对

我把它加到eclipse project build path里面的。同样在单位电脑上可以工作的。所以我很疑惑,难道是因为家里的电脑jdk路径下面有空格或者是win7的原因??
[b]问题补充:[/b]

问题找到了,是url错了。

分就给walsh吧

4个回答

出现这样的情况,一般有四种原因:

一:连接URL格式出现了问题(Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/XX","root","XXXX")

二:驱动字符串出错(com.mysql.jdbc.Driver)

三:Classpath中没有加入合适的mysql_jdbc驱动(驱动要和你的数据库版本一致)

四:驱动jar包放的位置不对

这个很明显就是jar包问题

它没找到合适的驱动嘛

你确定在web-inf/lib目录下有mysql的jar包,还有版本也要是对哦

楼主可以按照上面我所的四个原因,一个一个查找

LZ试一下

[color=red]MySQL5Dialect[/color]

[quote]
org.hibernate.dialect.MySQLDialect
[/quote]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问