java.sql.SQLException:找不到合适的驱动程序 - Report Server

时间:2014-10-24 13:23:28

标签: java mysql tomcat jdbc

我正在尝试安装reportserver的开源版本(http://reportserver.datenwerke.net/en/

我已经配置了persistence.xml文件并更改了以下行中的详细信息:

<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/reportserver"/>
    <property name="hibernate.connection.username" value="root"/>
    <property name="hibernate.connection.password" value="root"/>

我现在能够成功访问reportserver并登录等。但是,在为外部数据库添加数据源时,我测试连接并收到以下错误。

java.sql.SQLException: No suitable driver found

我相信persistence.xml是正确的,因为我可以更改说存储在本地数据库中的reportserver的用户名和密码。

这是堆栈跟踪的一大块:

net.datenwerke.rs.core.service.reportmanager.exceptions.DatabaseConnectionException: Could not open connection to: example.com with user: root. java.sql.SQLException: No suitable driver<br>   at 
net.datenwerke.rs.base.service.datasources.table.transformers.DatabaseDatasourceTableTransformer.transform(DatabaseDatasourceTableTransformer.java:62)<br>  at 
net.datenwerke.rs.base.service.datasources.table.transformers.DatabaseDatasourceTableTransformer.transform(DatabaseDatasourceTableTransformer.java:1)<br>   at 
net.datenwerke.rs.core.service.datasourcemanager.datasourcetransformers.DatasourceDefinitionTransformerManager.transform(DatasourceDefinitionTransformerManager.java:49)<br>    at 
net.datenwerke.rs.base.service.reportengines.table.SimpleDataSupplier.getData(SimpleDataSupplier.java:118)<br>  at 
net.datenwerke.rs.base.service.reportengines.table.SimpleDataSupplier.getData(SimpleDataSupplier.java:113)<br>  at 

我已按要求为项目安装了JDK和tomcat,并且我已经下载了Mysql Connector JDBC驱动程序(mysql-connector-java-5.0.8-bin.jar)。我已将此放入/usr/share/apache-tomcat-7.0.56/webapps/reportserver/WEB-INF/lib,因为说明指出需要安装但未指定(http://blog.datenwerke.net/2013/05/installation-and-basic-configuration.html)。我是否正确将其置于此处或应将其放置在Tomcat lib文件夹中。还需要更改名称等吗?

我几乎没有使用Java的经验,我已经搜索过,但我需要一些帮助才能继续前进。任何人都可以建议我如何解决这个问题。

获取您的信息:

外部数据库是一个Mysql数据库,我可以从navicat和php脚本等访问它。

我使用的服务器是Centos 6.5 64bit。

非常感谢。

更新 这是完整的块

<!-- Connection properties -->
<property name="hibernate.dialect" value="net.datenwerke.rs.utils.hibernate.MySQL5Dialect"/>
        <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
        <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/reportserver"/>
        <property name="hibernate.connection.username" value="root"/>
        <property name="hibernate.connection.password" value="root"/>

2 个答案:

答案 0 :(得分:1)

您缺少以下内容:

  <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

答案 1 :(得分:0)

这个问题的答案非常简单而且具有欺骗性。添加外部数据源时,系统会要求您输入数据库类型,即Mysql,用户名,密码,重要的是URL。 像其他任何东西一样添加url似乎是合乎逻辑的,例如example.com。 但是,正确的URL格式应该如persistence.xml文件中所示,如下所示:

JDBC:MySQL的://示例.com:3306 /数据库名称

如上所述格式化网址后,您会发现连接将成功建立。

这对我来说有点经验不足,但希望这会帮助其他人使用reportserver。