powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Crystal Reports и хранимые процедуры Oracle
13 сообщений из 13, страница 1 из 1
Crystal Reports и хранимые процедуры Oracle
    #33083218
DBDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как передаются в Кристал данные? Процедура или функция на сервере должна вернуть курсор?
...
Рейтинг: 0 / 0
Crystal Reports и хранимые процедуры Oracle
    #33116705
serg1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Была такая инструкция
scr_oracle_stored_procedures.pdf
...
Рейтинг: 0 / 0
Crystal Reports и хранимые процедуры Oracle
    #33280689
Guest2912
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На первый же пример из этой доки кристал выдает ошибку:
Query Engine Error: 'ORA-06550:line 1, column 13
PLS-00302:component 'TEST_PROCEDURE' must be declared
PL/SQL Statement ignored'

в чем проблема?
...
Рейтинг: 0 / 0
Crystal Reports и хранимые процедуры Oracle
    #33280836
Прохожий111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.sql.ru/forum/actualthread.aspx?tid=218041
...
Рейтинг: 0 / 0
Crystal Reports и хранимые процедуры Oracle
    #33280909
Guest2912
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При чем тут это? Сейчас еще следом выдается: 'Details: Fail to execute SQL statement. OCI Call OCI StmtExecute' - сами sql-выражения не выполняются почему-то
...
Рейтинг: 0 / 0
Crystal Reports и хранимые процедуры Oracle
    #33281082
Прохожий111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest2912На первый же пример из этой доки кристал выдает ошибку:
Query Engine Error: 'ORA-06550:line 1, column 13
PLS-00302:component 'TEST_PROCEDURE' must be declared
PL/SQL Statement ignored'

в чем проблема?

У вас ник DBDeveloper.

PLS-00302 component 'string' must be declared

Cause: In a reference to a component (for example, in the name "A.B", "B" is a component of "A"), the component has not been declared. The component might be misspelled, its declaration might be faulty, or the declaration might be placed incorrectly in the block structure.

Action: Check the spelling and declaration of the component. Also confirm that the declaration is placed correctly in the block structure.
...
Рейтинг: 0 / 0
Crystal Reports и хранимые процедуры Oracle
    #33281268
Guest2912
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да вроде все правильно, из этой доки прогнали скрипты:
1. Create a table.
CREATE TABLE Test_Table
(ID number(5),
Firstname varchar2(30),
Lastname varchar2(30),
Birthday date);

2. Insert values into the table.
INSERT INTO Test_Table VALUES
(1, 'Christopher', 'Jones', '01-Nov-70');
INSERT INTO Test_Table VALUES
(2, 'Maria', 'Marshall', '02-Jan-77');
INSERT INTO Test_Table VALUES
(3, 'Jonathan', 'Campbell', '09-Aug-75');
INSERT INTO Test_Table VALUES
(4, 'Julie', 'Gagnon', '23-Dec-72');
INSERT INTO Test_Table VALUES
(5, 'Daemon', 'Thompson', '11-Feb-69');

3. Create the Package.
CREATE OR REPLACE PACKAGE Test_Package
AS TYPE Test_Type IS REF CURSOR RETURN Test_Table%ROWTYPE;
END Test_Package;
/

4. Create the stored procedure.
CREATE OR REPLACE PROCEDURE Test_Procedure (
Test_Cursor IN OUT Test_Package.Test_Type,
Test_Parameter IN Test_Table.ID%TYPE)
AS
BEGIN
OPEN Test_Cursor FOR
SELECT *
FROM Test_Table
WHERE Test_Table.ID = Test_Parameter;
END Test_Procedure;

этот пример во многих местах встречается...
...
Рейтинг: 0 / 0
Crystal Reports и хранимые процедуры Oracle
    #33281856
Прохожий111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Вас ошибки оракловые. Добейтесь коректной отработки процедуры в оракле, после задавайте вопрос по CR.
P.S В Oracle 9.2.0.5 процедура работает без проблем.
...
Рейтинг: 0 / 0
Crystal Reports и хранимые процедуры Oracle
    #33285437
Guest2912
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все нормально в оракле работает:

SQL> set autoprint on
SQL> variable x refcursor
SQL> exec test_procedure(:x, 1)

PL/SQL procedure successfully completed.


ID FIRSTNAME LASTNAME
---------- ------------------------------ ------------------------------
BIRTHDAY
---------
1 Christopher Jones
01-NOV-70
...
Рейтинг: 0 / 0
Crystal Reports и хранимые процедуры Oracle
    #33286040
Прохожий111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка сохраняется?
...
Рейтинг: 0 / 0
Crystal Reports и хранимые процедуры Oracle
    #33286066
Прохожий111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка возникает при вызове процедуры из CR?
...
Рейтинг: 0 / 0
Crystal Reports и хранимые процедуры Oracle
    #33288110
Guest2912
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
C ошибкой разобрались. Ошибка была по глупости. Кристал вызывает процедуру след. образом: имя_пользователя.test_procedure(). Но с названием "имя_пользователя" уже существовал пэкидж. Из-за этого и был конфликт.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Crystal Reports и хранимые процедуры Oracle
    #37349545
_Irina_S_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пютаюсь в Crystal Reports XI создать отчет на основе хранимой процедуры Oracle.
Скопировала пример 1, который здесь приведен.
Если запускать процедуру из SQL*Plus в виде:
SET SERVEROUTPUT ON
declare
test_cursor test_package.test_type;
resultset test_cursor%rowtype;
begin
test_procedure(test_cursor, 1);
if not test_cursor%isopen then
dbms_output.put_line('the cursor is not open');
else
dbms_output.put_line('the cursor is open');
end if;
fetch test_cursor into resultset;
while test_cursor%found loop
dbms_output.put_line(resultset.ID);
dbms_output.put_line(resultset.Firstname);
dbms_output.put_line(resultset.Lastname);
dbms_output.put_line(resultset.Birthday);
fetch test_cursor into resultset;
end loop;
end;
Она отрабатывает.

А при попытке добавить процедуру в отчет запрашивается значение только одного параметра (Test_Parametr) и выдается ошибка: Ошибка блока соединения с базой данных ADO Error Code 0x80040e14
ORA-06550. PLS-00306: wrong number or typews of arguments is call to 'Test_Procedure'.

Из Crystal Reports передается команда: Begin "Test_Procedure" (1); end;

Как можно "побороть" данную проблему?
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Crystal Reports и хранимые процедуры Oracle
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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