Отказано в доступе пользователя при просмотре отчета BIRT

Я установил BIRT 4.3.2 Web Viewer на Microsoft Server 2012 с помощью Tomcat 8.0.5. При попытке подключиться к базе данных через 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 на том же компьютере ... Я также установил тестовое приложение на сервере Tomcat, которое подключает и извлекает данные из одной базы данных, используя одинаковые учетные данные. Мой драйвер находится в папке root \ webapps \ Birt \ WEB-INF \ lib.


person Creamstout10    schedule 16.05.2014    source источник


Ответы (2)


Кажется, что у вашего веб-пользователя нет доступа для подключения к базе данных на 10.3.2.50. Пожалуйста, измените свои учетные данные на действительные.

Вы можете проверить, какие учетные данные верны, используя mysql: mysql -u webuser 10.3.2.50

person Krzysztof Kazmierczyk    schedule 19.05.2014
comment
Я могу подключиться к базе данных из 10.3.2.50 через небольшое приложение, которое я написал для Tomcat Server. - person Creamstout10; 20.05.2014

Я настроил JNDI-соединение для Tomcat 6.0.39 и смог подключиться к источнику данных. Вот шаги, которые я предпринял:

Установите Tomcat [6.0.39 [(http://tomcat.apache.org/download-60.cgi).

Установите Birt 4.2.3 Viewer.

Поместите WebViewerExample в папку $ TOMCAT_INSTALL / webapps / и переименуйте папку в Birt. Поместите jar-файл JDBC mysql в папку $ 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 /, мне пришлось создать папку META-INF внутри проекта Birt.

<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 отредактируйте источник данных и включите следующий URL-адрес JNDI:

java:comp/env/jdbc/MySqlDB

Перезапустите службу Tomcat и укажите соответствующий URL-адрес для RPTDesign.

person Creamstout10    schedule 20.05.2014