xiaohan1112 2009-09-01 09:34
浏览 880
已采纳

碰到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条回答

  • walsh_bupt 2009-09-01 09:45
    关注

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

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

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

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站