我正在尝试安装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"/>
答案 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。