powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Crystal Report XI перед стартом отчета необходимо выполнить процедуру на сервере
7 сообщений из 7, страница 1 из 1
Crystal Report XI перед стартом отчета необходимо выполнить процедуру на сервере
    #33668118
Димитрий_Галин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
...
Рейтинг: 0 / 0
Crystal Report XI перед стартом отчета необходимо выполнить процедуру на сервере
    #33668132
Димитрий_Галин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Итак есть необходимость перед выполнением отчета с коннектом к Oracle выполнит процедуру на сервере.

Отчет запускается через API.
В 7-й версии удалось это выполнить.

Аналогичная процедура Crystal API почему-то всегда возвращает FALSE.
...
Рейтинг: 0 / 0
Crystal Report XI перед стартом отчета необходимо выполнить процедуру на сервере
    #33674198
А почему именно перед коннектом?
Поясните, что делает данная процедура, тогда может я вам предложу решение.
...
Рейтинг: 0 / 0
Crystal Report XI перед стартом отчета необходимо выполнить процедуру на сервере
    #33675793
Димитрий_Галин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прохожий_111А почему именно перед коннектом?
Поясните, что делает данная процедура, тогда может я вам предложу решение.

Буду очень Вам признателен.

Процедура устанавливает язык отчета.
Кроме того необходимо выполнить SQL-команды вида
ALTER SESSION SET NLS_ ...
SET ROLE ...

В 7 версии Crystal Report эти действия выполняли так:
- Создавали соединение с Oracle
- Выполняли набор команд SQL
- Загружали отчет
- передавали отчету уже настроенное соединение

В XI версии нет возможности передать отчету готовое соединение, только параметры (Сервер, пользователь, пароль).

Димитрий
...
Рейтинг: 0 / 0
Crystal Report XI перед стартом отчета необходимо выполнить процедуру на сервере
    #33676520
Димитрий_ГалинВ XI версии нет возможности передать отчету готовое соединение, только параметры (Сервер, пользователь, пароль).

Димитрий
С XI версией не работал. Непонятно про передачу "только параметров". Имеется ввиду, что непосредственно устанавливается соединение только в отчете?
Тогда, в 9 версии это выглядело бы так:
1) В отчете в Set Location указывается процедура возвращающая курсор с данными. В данной процедуре наряду с заполнением курсора можно указать ваши команды
ALTER SESSION SET NLS_ ...
SET ROLE ...
или вызвать другую процедуру с данными командами.
2) Запускается отчет и устанавливается соединение.
3) Выполняется процедура - выполняются ваши команды на сервере и возвращается набор данных.
...
Рейтинг: 0 / 0
Crystal Report XI перед стартом отчета необходимо выполнить процедуру на сервере
    #33677223
Димитрий_Галин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прохожий_111Имеется ввиду, что непосредственно устанавливается соединение только в отчете?Да. И выполнить в рамках этого соединения команды SQL нет возможности.

Прохожий_111В отчете в Set Location указывается процедура возвращающая курсор с данными. Наверное речь идет о тексте главного запроса отчета. Заменить его на процедуру пока считается неудачным решение. (Более 100 отчетов существенно переделывать) Кроме того SET ROLE не отработает в процедуре.

С уважением Димитрий.
...
Рейтинг: 0 / 0
Crystal Report XI перед стартом отчета необходимо выполнить процедуру на сервере
    #33678741
Димитрий_Галин Кроме того SET ROLE не отработает в процедуре.

С уважением Димитрий.
Если все таки придется делать через процедуры, то здесь функция позволяющая запустить sql+ и следовательно выполнить SET ROLE.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Crystal Report XI перед стартом отчета необходимо выполнить процедуру на сервере
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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