powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / rwclient и альтернативы заданий для сервера отчётов
12 сообщений из 12, страница 1 из 1
rwclient и альтернативы заданий для сервера отчётов
    #40003364
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добрый день

я недавно во всех этих делах, поэтому у меня много вопросов по теме постановки отчётов в очередь на выполнение сервером.

1. rwclient общается напрямую с сервером отчётов? Есть возможность реализовать свой rwclient? Т.е. если где-то описание протокола, по которому он общается с сервером?
2. какие есть ещё способы, поместить отчёт в очередь? Вроде бы можно через http?
3. RS всегда работает на сервере приложений? Обычно это WebLogic, или есть возможность запускать это без СП или в другом СП?
4. rwclient выдаёт ошибки в окне. Есть какой-то способ заставить его писать ошибки в стандартный поток ввода-вывода или в файл? В случае запуска в режиме планировщика (schedule=yes), rwserver пишет в лог ошибки, но там мало информации, можно как-то на это повлиять?

Где можно почитать быстрый вступительный guide по теме постановки отчётов на выполнение?
...
Рейтинг: 0 / 0
rwclient и альтернативы заданий для сервера отчётов
    #40003396
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос скорее для подфорума Oracle / Forms.

Ну и указывайте версию Reports. Если версия Client и Report Server разная, то обе

CEMb

Есть возможность реализовать свой rwclient? Т.е. если где-то описание протокола, по которому он общается с сервером?

Не видел.
Но AFAIK начиная с 12'ой версии все практически чистая Java. Т.ч. сорцы вполне можно увидеть, а проблемы дернуть из своего кода вообще быть не должно

CEMb

2. какие есть ещё способы, поместить отчёт в очередь? Вроде бы можно через http?

должно быть описано в документации. Как минимум: HTTP, через СУБД

CEMb

3. RS всегда работает на сервере приложений? Обычно это WebLogic, или есть возможность запускать это без СП или в другом СП?

RS - это Oracle Reports Server?
Сомневаюсь, что то, как он работает можно назвать на "сервере приложений". На сервере вроде только GUI крутится, Oracle Reports Server 12 как-то отдельно от WebLogic'а живет. Хотя для меня, это дело темное. А Oracle Reports Server 6i был вообще в те времена, когда никаких WebLogic не было.

другом СП?

сомневаюсь. В инсталяторе таких опций нет ))) Reports 12 требует/ставит WebLogic. В общем-то, ну и пофиг. Он и так много чего ставит.

CEMb

4. rwclient выдаёт ошибки в окне

В окне?
Это же консольная утилита AFAIK.

CEMb

Есть какой-то способ заставить его писать ошибки в стандартный поток ввода-вывода или в файл? В случае запуска в режиме планировщика (schedule=yes), rwserver пишет в лог ошибки, но там мало информации, можно как-то на это повлиять?

Где можно почитать быстрый вступительный guide по теме постановки отчётов на выполнение?

в документации IMHO

Вообще задача не понятна, что нужно-то?

note:
1) Oracle® Fusion Middleware
Oracle Reports User's Guide to Building Reports
12c (12.2.1.2)
E76635-01
4.7 Run and Dispatch a Report

2)
Fusion Middleware Publishing Reports to the Web with Oracle Reports Services
...
Рейтинг: 0 / 0
rwclient и альтернативы заданий для сервера отчётов
    #40003398
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p.s.
Reports 12 у меня под рукой нет

p.p.s.
AFAIK rwclient в Report 12 должна быть просто консольная утилита на Java (насколько помню, это вообще cmd/bat файл)

Взяться окнам там не откуда.

Единственное, что могу предположить, что под "окном" Вы можете подразумевать отдельный процесс командного интерпретатора. Но тогда нужна конкретика, где и как Вы вызываете rwclient, что получили еще одну копию командного интерпретатора.
(или падеж-падежей command.com / cmd.exe или аналогичный java / javaw)

Могу ошибаться. С Reports 12 плотно не работал. Сталкивался чуть больше года назад.
...
Рейтинг: 0 / 0
rwclient и альтернативы заданий для сервера отчётов
    #40003770
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Вообще задача не понятна, что нужно-то?
Нужно запускать rwclient из своего приложения (сервиса) и получать ошибки куда-то, где их можно прочитать. Сейчас rwclient поднимает окно с ошибкой. Версия сейчас 11-я, но предполагается 12-я.
Leonid Kudryavtsev
Взяться окнам там не откуда.
Но они там есть, я в интернете даже решение нашёл, как от них избавляться - запускать в режиме планировщика, с параметром schedule=now. Но тогда проблема с получением ошибки, так как rwclient в "обычном" режиме ждёт, что ответит сервер, и потом выдаёт это на окошке :(
...
Рейтинг: 0 / 0
rwclient и альтернативы заданий для сервера отчётов
    #40004020
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрел еще раз документацию. Действительно, rwclient по документации не поддерживает ключевое слово BATCH=yes ((( Почему так сделали, для меня не объяснимо.

Сильно помочь не могу, т.к. стенда где можно было бы посмотреть у меня сейчас нет ((( И даже доступа на metalink так же нет (((

Лично я отчеты печатаю через RWRUN 6.0, проблем у меня не было. Хотя по доке e RWRUN тоже BATCH=yes нет, но вроде никаких проблем с обработкой ошибок у меня не было (работает в проде уже более года, хостит WEB'овый Личный кабинет, поток клиентов большой). RWRUN 6.0 я запускаю через C'ный интерфейс из Java 32 bit. Приложение самопально сделанный Reports Server ))) на Java, сделан не от хорошей жизни, админы не наши, заставить нормально сконфигурировать сервер нет возможности, пришлось свою затычку-кватратноколесный-велосипед делать.

По документации:
https://docs.oracle.com/middleware/1221/formsandreports/use-reports/pbr_run002.htm#RSPUB23535

Можно использовать:
1. The rwclient command line
2. A URL
To run a report from a browser, use the URL syntax. Oracle Reports Servlet (rwservlet) converts the URL syntax into an rwclient command line request that is processed by Oracle Reports Services...
3. Through Oracle Portal
The Oracle Portal component enables you to add a link to a report in an Oracle Portal page or portlet, or to output report results directly into a portlet....
4. A packaged procedure
SRW.RUN_REPORT is a built-in procedure that runs a Reports Runtime command. When you specify SRW.RUN_REPORT, set the SERVER option to the Reports Server name to cause the SRW.RUN_REPORT command to behave as though you executed a rwclient command...
5. A Web service
You can expose Oracle Reports Services as a Web service and then call it from any Web service aware environment (for example, a Java application)...

С 12'ым Reports'ом игрался год назад, в прод не пошло. Мой велосипед работает, а делать по нормальному это пробивать головой бюрократическую стенку у заказчика (начальство, админы, отдел безопасности и так далее)
...
Рейтинг: 0 / 0
rwclient и альтернативы заданий для сервера отчётов
    #40004028
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кусок моего кода для Oracle Reports 6. Может будет кому-то полезно.

Однопоток !!! Как я понимаю, в многопотоке запускать по документации нельзя (мне нужно несколько обработчиков, поэтому я свои отдельные ReportExecutor'ы запускаю в нескольких разных процессах)

Проблем с обработкой ошибок и с окошками у меня не было. Если вернуло 0 - ошибки нет, если НЕ 0 - ошибка.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Platform;

    public interface OracleReports extends Library {
    	// D:\\oradev\\Orant\\REPORT60\\OCI\\
    	OracleReports INSTANCE = (OracleReports)
    			Native.loadLibrary( "RWOCI60.dll",
            		OracleReports.class);

        int rwcrrb( String cmdlin ); 
    }


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
    public int runReport( String command ) {
    	long start, end;
        String cmd;
        int ret;

    	start = System.currentTimeMillis();

    	cmd = getReportCmd( command );
    	logger.info( "workerId=" + workerId + " cmd="+cmd );
    	if ( cmd==null ) {
    		return -1;
    	}

    	ret = OracleReports.INSTANCE.rwcrrb( cmd );
        
    	end = System.currentTimeMillis();
    	
    	logger.info( "workerId=" + workerId + " ret="+ret+" time="+(end-start) );
    	return ret;
    }


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
// при первом запуске я проверяю, что все нормально. Для этого запускаю просто отчет генерирующей пустую страницу.
    public void initialInit() {
    	int ret = runReport( "empty" );
    	if ( ret!=0 ) {
    		logger.error( "Can not execute empty.rep. Terminate. ReturnCode="+Integer.toString( ret )  );
    		System.exit( ERR_FATAL_INIT );
    	}
    }


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
// Генерит заготовку для command 
		this.reportParam =
                        "userid=" + dbConn + " " +
			" NONBLOCKSQL=yes CACHELOB=no" +
			" PARAMFORM=no PRINTJOB=no BATCH=yes DESTYPE=FILE" +
//???			" BUFFERS=9000 ARRAYSIZE=2000" +
			" LOGFILE=worker"+workerId+"_err.log" +
			// TraceOps: TRACE_ERR|TRACE_PRF|TRACE_APP|TRACE_PLS|
			// TRACE_SQL|TRACE_TMS|TRACE_DST|TRACE_ALL
//			" TRACEFILE=worker"+workerId+"_trace.log TRACEOPTS=TRACE_ERR" +
			" DESNAME=worker"+workerId+"_result.bin DESFORMAT=rtf";



...
Рейтинг: 0 / 0
rwclient и альтернативы заданий для сервера отчётов
    #40004033
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НО
Дока_по_122.9.4 About the Oracle Call Interface (OCI)

In releases prior to Oracle Reports 10g, the Oracle Call Interface (OCI) provided a set
of standard procedures that you could call in your 3GL programs to call Oracle
Reports components. These procedures (written in C) were shipped with the Oracle
Reports Builder, Reports Runtime, and Reports Converter components. For example,
to run a Oracle Reports Builder report from a Pro*FORTRAN program, you could add
a RWCRRB procedure call to your program to run the report using the Reports
Runtime component.
Note: To run a report for which a database role is defined, the end
user must run the .rdf file, not the .rep file. When running multiple
reports, Reports Runtime automatically switches to the role defined
for the current report.
Debugging Tools
2-82 Publishing Reports to the Web with Oracle Reports Services
Beginning with Oracle Reports 10g, the OCI is obsolete. Instead, use the rwclient.exe
command line interface or the JSP tag library.
...
Рейтинг: 0 / 0
rwclient и альтернативы заданий для сервера отчётов
    #40004045
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если проект официальный, то я бы спрашивал на metalink (форум, SR) или в московском офисе (насколько я знаю, раньше поддержка Forms & Reports занимался непосредственно московский офис, партнеры обеспечивали поддержку только БД).

AFAIK на данном форуме осталось очень мало людей, которые с Forms & Reports работают. Сужу по активности подфорума Oracle / Forms.
...
Рейтинг: 0 / 0
rwclient и альтернативы заданий для сервера отчётов
    #40004450
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Лично я отчеты печатаю через RWRUN 6.0, проблем у меня не было.
я тоже пошёл экспериментировать с RWRUN(куда он пишет ошибки?), с параметром tracefile/traceopts, долго удивлялся, почему он не пишет трейсы, в результате посмотрел в системные журналы (windows 10), увидел ошибку 0xc0000374, в модуле ntdll.dll, куча повреждена, т.е. я словил проблему с RWRUN прям сразу :)
даже не знаю, стоит ли пытаться с этим разбираться. Попробую сначала другие пути. Просто у нас софт был написан (на плюсах) под запуск rwclient, и переход на rwrun был бы минимальным.
Leonid Kudryavtsev
AFAIK на данном форуме осталось очень мало людей, которые с Forms & Reports работают. Сужу по активности подфорума Oracle / Forms.
А на чём сейчас отчёты делают и выполняют обычно?
Насколько знаю, у нас количество отчётов на рабочих схемах огромное, даже не знаю, сколько будет стоить перевести всё это на другие рельсы.
...
Рейтинг: 0 / 0
rwclient и альтернативы заданий для сервера отчётов
    #40005829
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на чём сейчас отчёты делают и выполняют обычно?
Насколько знаю, у нас количество отчётов на рабочих схемах огромное, даже не знаю, сколько будет стоить перевести всё это на другие рельсы.


У нас старый софт. Oracle Forms & Reports 6i.

Год назад было желание настроить Reports 12, но "инициатива наказуема тем, что можно остаться крайним", т.ч. воз и поныне там.

Лично я бы просто декомпильнул rwclient от 12 и пересобрал бы. Там Java, т.ч. ничего особо сложного быть не должно. Самое сложное Reports 12'ый поставить ))), у меня сейчас стенда нет.

Ну или обращаться в саппорт

1. Для отчетов на клиентах: Oracle Forms & Reports 6i Client-Server
2. В личном кабинете (web,php): моя софтина, которая запросы к Reports'у выставляет в очередь (4-ые потока, нагрузка до 20-30 отчетов в минуту), по хорошему нужно было бы заменять на Reports Server (сервер админим и не мы, софт стоит безумно криво /репорт жутко и необъснимо тормозит/, но переставить возможности нет).
3. Еще есть Oracle BI и какие-то отчеты делаются через BI и BI/XML Publisher.
...
Рейтинг: 0 / 0
rwclient и альтернативы заданий для сервера отчётов
    #40010405
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
rwclient
нету у меня пока 12-го, но вот 11-й на плюсах сделан. Я вчера в нём поковырялся, была идея посмотреть, какими библиотеками он пользуется. Нашёл библиотеку, нашёл функции. Но на этом всё, описания самих функций нет, в интернете пусто. Облом. А так бы можно было написать свой клиент, да.

Ладно, я параллельно смотрю на rwservlet, хочется попробовать в эту сторону, но я тут тоже ноль, поэтому рад любой информации. Сейчас у меня крутится OPMN, в нём report server, судя по всему. Я поднял WebLogic. Ок. Тут вопросы: как "связать" WebLogic с RS? Есть мнение, что RS крутится на урезанной версии WebLogic внутри OPMN, но у меня не получилось до него достучаться через http, поэтому я сильно не уверен, что это так.
...
Рейтинг: 0 / 0
rwclient и альтернативы заданий для сервера отчётов
    #40010509
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не специалист. Не уверен. Да и посмотреть негде.

AFAIK там нормальный полноценный WebLogic. В 12-ой версии вроде by default поставилось два domain. Админский - чисто для админства WebLogic + domain - с Reports. Два разных домена WebLogick'а на разных портах.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / rwclient и альтернативы заданий для сервера отчётов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]