我使用Tomcat 8.0.5在Microsoft Server 2012上设置了BIRT 4.3.2 Web Viewer。当尝试通过BIRT Viewer连接到数据库时,我收到以下错误。
org.eclipse.birt.report.engine.api.EngineException: An exception occurred during processing.
Please see the following message for details:
Cannot open the connection for the driver: org.eclipse.birt.report.data.oda.jdbc.
org.eclipse.birt.report.data.oda.jdbc.JDBCException: Failed to get connection.
SQL error #1:Access denied for user 'webuser'@'10.3.2.50' (using password: YES)
我可以确认我可以在同一台机器上使用Eclipse Designer连接到数据库...我还在Tomcat服务器上设置了一个测试应用程序,它连接并检索来自同一数据库的数据,两者都使用相同的凭据。我的驱动程序放在root \ webapps \ Birt \ WEB-INF \ lib文件夹中。
答案 0 :(得分:1)
您的webuser似乎无法在10.3.2.50上连接到数据库。请将您的凭据更改为有效凭证。
您可以使用mysql验证哪些凭据正确:mysql -u webuser 10.3.2.50
答案 1 :(得分:0)
我为Tomcat 6.0.39配置了JNDI连接,并且我能够连接到数据源。以下是我采取的步骤:
安装Tomcat [6.0.39 [(http://tomcat.apache.org/download-60.cgi)。
将WebViewerExample放在$ TOMCAT_INSTALL / webapps /文件夹中,并将该文件夹重命名为Birt。 将JDBC mysql jar放在$ TOMCAT_INSTALL / lib /文件夹中。 将以下xml添加到Birt / WEB-INF / web.xml文件中:
<resource-ref>
<description>[description]</description>
<res-ref-name>jdbc/MySqlDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
将一个context.xml文件添加到BIRT / META-INF /,我必须在Birt项目中创建META-INF文件夹。
<Context>
<Resource name="jdbc/MySqlDB" auth="Container" type="javax.sql.DataSource"
maxActive="5" maxIdle="=1" maxWait="10000" username="[username]"
password="[password]" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://[host]:[port]/[dbname]
</Resource>
</Context>
在RPTDesign内部编辑数据源并包含以下JNDI URL:
java:comp/env/jdbc/MySqlDB
重新启动Tomcat服务并指向RPTDesign的相应URL。