Подключение с использованием JDBC драйвера
Re: Подключение с использованием JDBC драйвера
Здравствуйте.
не моглиб ывы привести полное содержание ошибки,
текс после In connection options {...}
в фигурных скобках будет ваша строка подключения которая пришла на сервер.
Вы используете послебнии версии продукта?
Спасибо.
не моглиб ывы привести полное содержание ошибки,
текс после In connection options {...}
в фигурных скобках будет ваша строка подключения которая пришла на сервер.
Вы используете послебнии версии продукта?
Спасибо.
Re: Подключение с использованием JDBC драйвера
Использую вроде как последнюю версию. Бибилиотеки датированы 18.09.2012.
Полная ошибка(консоль вернула)
java.lang.IllegalArgumentException: In connection options '{amriyy5kcml2zxi9cnnzynvzlmpkymmuc2fszxnmb3jjztsnamriyy51cmw9amriyzpzywxlc2zv
cmnlonvzzxi9b19yzwljzw5aag90bwfpbc5jb207cgfzc3dvcmq9uirfi3cycte7qwnjzxnzifrv
a2vuptfeatzrm3h1c3p5exrzukq3dvm3eujhcdsnamriyy51c2vybmftzt1vx3jlawnlbkbob3rt
ywlslmnvbtsnamriyy5wyxnzd29yzd1sjeujdzjxmts=}' not found 'driver name'
at com.stimulsoft.library.jdbcadapters.AbstractAdapter.validation(AbstractAdapter.java:89)
at com.stimulsoft.library.jdbcadapters.AbstractAdapter.getJDBCConection(AbstractAdapter.java:78)
at com.stimulsoft.library.xml.objects.ConnectionXml.switchConnectionType(ConnectionXml.java:82)
at com.stimulsoft.library.xml.objects.ConnectionXml.getJDBCConnection(ConnectionXml.java:75)
at com.stimulsoft.actions.TestConnection.getConnection(TestConnection.java:55)
at com.stimulsoft.actions.TestConnection.process(TestConnection.java:40)
at com.stimulsoft.actions.AbstractAction.run(AbstractAction.java:19)
at com.stimulsoft.actions.WebTestConnection.process(WebTestConnection.java:23)
at com.stimulsoft.actions.AbstractWebAction.run(AbstractWebAction.java:18)
at com.stimulsoft.servlet.DesignerFxServlet.runAction(DesignerFxServlet.java:89)
at com.stimulsoft.servlet.DesignerFxServlet.processingParam(DesignerFxServlet.java:82)
at com.stimulsoft.servlet.DesignerFxServlet.processing(DesignerFxServlet.java:58)
at com.stimulsoft.servlet.DesignerFxServlet.doPost(DesignerFxServlet.java:45)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Полная ошибка(консоль вернула)
java.lang.IllegalArgumentException: In connection options '{amriyy5kcml2zxi9cnnzynvzlmpkymmuc2fszxnmb3jjztsnamriyy51cmw9amriyzpzywxlc2zv
cmnlonvzzxi9b19yzwljzw5aag90bwfpbc5jb207cgfzc3dvcmq9uirfi3cycte7qwnjzxnzifrv
a2vuptfeatzrm3h1c3p5exrzukq3dvm3eujhcdsnamriyy51c2vybmftzt1vx3jlawnlbkbob3rt
ywlslmnvbtsnamriyy5wyxnzd29yzd1sjeujdzjxmts=}' not found 'driver name'
at com.stimulsoft.library.jdbcadapters.AbstractAdapter.validation(AbstractAdapter.java:89)
at com.stimulsoft.library.jdbcadapters.AbstractAdapter.getJDBCConection(AbstractAdapter.java:78)
at com.stimulsoft.library.xml.objects.ConnectionXml.switchConnectionType(ConnectionXml.java:82)
at com.stimulsoft.library.xml.objects.ConnectionXml.getJDBCConnection(ConnectionXml.java:75)
at com.stimulsoft.actions.TestConnection.getConnection(TestConnection.java:55)
at com.stimulsoft.actions.TestConnection.process(TestConnection.java:40)
at com.stimulsoft.actions.AbstractAction.run(AbstractAction.java:19)
at com.stimulsoft.actions.WebTestConnection.process(WebTestConnection.java:23)
at com.stimulsoft.actions.AbstractWebAction.run(AbstractWebAction.java:18)
at com.stimulsoft.servlet.DesignerFxServlet.runAction(DesignerFxServlet.java:89)
at com.stimulsoft.servlet.DesignerFxServlet.processingParam(DesignerFxServlet.java:82)
at com.stimulsoft.servlet.DesignerFxServlet.processing(DesignerFxServlet.java:58)
at com.stimulsoft.servlet.DesignerFxServlet.doPost(DesignerFxServlet.java:45)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Re: Подключение с использованием JDBC драйвера
Здравствуйте.
Данная ошибка была в старых версиях. Скачайте последний библиотеки из Кабинета пользователя.
После чего внимательно посмотрите не остались ли где у вас старые библиотеки, которые попадают в проект.
На сервере очистите каталог Apache Tomcat 7.0.11\work\, а в каталоге Apache Tomcat 7.0.11\webapps\ удалите все упоминания вашего проекта и запустите ваш проект с новыми библиотеками.
Спасибо.
Данная ошибка была в старых версиях. Скачайте последний библиотеки из Кабинета пользователя.
После чего внимательно посмотрите не остались ли где у вас старые библиотеки, которые попадают в проект.
На сервере очистите каталог Apache Tomcat 7.0.11\work\, а в каталоге Apache Tomcat 7.0.11\webapps\ удалите все упоминания вашего проекта и запустите ваш проект с новыми библиотеками.
Спасибо.
Re: Подключение с использованием JDBC драйвера
Спасибо! Все получилось! Были оставлены для совместимости старые библиотеки версии 1300. Т.к. без них не работали сервлеты MyLoadReport, MySaveReport. Но на сейчас я так понял они не нужны?
Re: Подключение с использованием JDBC драйвера
Здравствуйте,
Пожалуйста, посмотрите новый демо пример в приложении.
Так же мы обновили FAQ:
http://www.stimulsoft.com/en/faq/reports-fx-java
Спасибо.
Пожалуйста, посмотрите новый демо пример в приложении.
Так же мы обновили FAQ:
http://www.stimulsoft.com/en/faq/reports-fx-java
Спасибо.
- Вложения
-
- webfx.zip
- (5.92 МБ) 378 скачиваний
Re: Подключение с использованием JDBC драйвера
Добрый день, обновил генератор отчетов на версию Stimulsoft Reports.Fx for Java 2012.3. На предыдущей версии все работало корректно. Сейчас есть проблема.
Использую подключение через скрипт MyLoadDataAction
public Connection getConnection() throws ClassNotFoundException, SQLException {
boolean overrideByConnectionString = getConnectionString() != null
&& getConnectionString().equals("needOverride");
boolean overrideByDataSource = getDataSourceName() != null
&& getDataSourceName().equals("DataSourceOverride");
if (overrideByConnectionString || overrideByDataSource) {
Class.forName("com.mysql.jdbc.Driver");
Properties info = new Properties();
info.setProperty("user", "root");
info.setProperty("password", "forrest");
String connectionString = "jdbc:mysql://localhost;databaseName=work_dict;";
return DriverManager.getConnection(connectionString, info);
} else {
return super.getConnection();
}
}
}
Создаю новый отчет, затем новое подключение.New connection выбираю JDBC connection, connection String оставляю пустым. Test проходит успешно. Затем создаю New data source и делаю retrieve columns,- запрос к базе данных срабатывает и нужные мне колонки отображаются. После этого создаю бэнд data и размещаю на нем поле с одной из колонок data source. Делаю preview,- отчет не строится, а Eclipse выдает ошибку
Could not set value: '' класс 'class java.lang.String'
метод 'public final void com.stimulsoft.report.dictionary.databases.StiJDBCDatabase.setConnectionStringEncrypted(java.lang.String) throws java.security.NoSuchAlgorithmException'
Caused by: java.lang.IllegalArgumentException: In connection options '{=}' not found 'driver name'
Использую подключение через скрипт MyLoadDataAction
public Connection getConnection() throws ClassNotFoundException, SQLException {
boolean overrideByConnectionString = getConnectionString() != null
&& getConnectionString().equals("needOverride");
boolean overrideByDataSource = getDataSourceName() != null
&& getDataSourceName().equals("DataSourceOverride");
if (overrideByConnectionString || overrideByDataSource) {
Class.forName("com.mysql.jdbc.Driver");
Properties info = new Properties();
info.setProperty("user", "root");
info.setProperty("password", "forrest");
String connectionString = "jdbc:mysql://localhost;databaseName=work_dict;";
return DriverManager.getConnection(connectionString, info);
} else {
return super.getConnection();
}
}
}
Создаю новый отчет, затем новое подключение.New connection выбираю JDBC connection, connection String оставляю пустым. Test проходит успешно. Затем создаю New data source и делаю retrieve columns,- запрос к базе данных срабатывает и нужные мне колонки отображаются. После этого создаю бэнд data и размещаю на нем поле с одной из колонок data source. Делаю preview,- отчет не строится, а Eclipse выдает ошибку
Could not set value: '' класс 'class java.lang.String'
метод 'public final void com.stimulsoft.report.dictionary.databases.StiJDBCDatabase.setConnectionStringEncrypted(java.lang.String) throws java.security.NoSuchAlgorithmException'
Caused by: java.lang.IllegalArgumentException: In connection options '{=}' not found 'driver name'
Re: Подключение с использованием JDBC драйвера
Здравствуйте.
Вероятно ваш DataSource не подходит ни под одно из условий для переопределения Connection.
В примере приведено 2 условия:
что и приводит к ошибке.
Спасибо.
Вероятно ваш DataSource не подходит ни под одно из условий для переопределения Connection.
В примере приведено 2 условия:
- overrideByConnectionString
В этом случае строка подключения должна содержать какое либо ключевое слово, например "needOverride", тогда данная проверка на соответствие этого слова даст true результат.Код: Выделить всё
boolean overrideByConnectionString = getConnectionString() != null && getConnectionString().equals("needOverride");
- Либо вы можете построить переопределение на втором условии
overrideByDataSource
В этом случае название DataSource должно содержать ключевое слово, по которому будет выполнятся проверка на соответсвие в этом условииВ результате чего условие:Код: Выделить всё
boolean overrideByDataSource = getDataSourceName() != null && getDataSourceName().equals("DataSourceOverride");
будет выполнено и вы сформируете правильную строку подключения.Код: Выделить всё
if (overrideByConnectionString || overrideByDataSource)
Код: Выделить всё
return super.getConnection();
Спасибо.
Re: Подключение с использованием JDBC драйвера
В том-то и дело, что по условию if (overrideByConnectionString || overrideByDataSource) {......}
срабатывает return DriverManager.getConnection(connectionString, info);
При настройке New Connection и New Data Source, test connection и Retrieve Columns проходит успешно(запрос к базе данных выполняется корректно). А при выполнении preview отчета и возникает указанная ошибка.
срабатывает return DriverManager.getConnection(connectionString, info);
При настройке New Connection и New Data Source, test connection и Retrieve Columns проходит успешно(запрос к базе данных выполняется корректно). А при выполнении preview отчета и возникает указанная ошибка.
Re: Подключение с использованием JDBC драйвера
Здравствуйте.
Извините за задержу. Нам необходимо дополнительное время для подготовки вам ответа.
Спасибо.
Извините за задержу. Нам необходимо дополнительное время для подготовки вам ответа.
Спасибо.
Re: Подключение с использованием JDBC драйвера
Спасибо, жду.