Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.03;
Скачать: CL | DM;

Вниз

Как получить в Delphi выходной параметр из процедуры в пакете?   Найти похожие ветки 

 
DPashin   (2002-05-07 09:18) [0]

Я пробовал следующий код, но параметр возвращаться отказывается. Через TStoredProc процедуры в пакетах не видны,=> запустить нельзя. Что делать?

CREATE OR REPLACE
Package TESTPACK IS
PROCEDURE TestProc
( param1 IN OUT INTEGER);
END;
/

CREATE OR REPLACE
Package Body TESTPACK IS
PROCEDURE TestProc( param1 IN OUT INTEGER) is
begin
Param1:=1;
end;
END; -- Package Body TESTPACK
/

var Q:TQuery;
begin
Q:=TQuery.Create(nil);
try
Q.DataBaseName:="SALARY";
Q.SQL.Add("begin");
Q.SQL.Add("TestPack.TestProc(:Param1);");
Q.SQL.Add("end;");

Q.ParamByName("Param1").DataType:=ftInteger;
Q.ParamByName("Param1").ParamType:=ptInputOutput;
Q.ParamByName("Param1").asInteger:=0;
Q.ExecSQL;
ShowMessage(intToStr(Q.ParamByName("Param1").asInteger ));
finally
Q.Free;
end;
end;


 
ivv ©   (2002-05-07 09:35) [1]

в насройках bde configuration\drivers\native\oracle\
смени парамертр dll32 на SQLORA32, он корректно работает со StoredProc, а SQLORA8 - c blob


 
DPashin   (2002-05-13 09:39) [2]

Попробовал, не помогает.
При SQLORA32 на соединении с сервером выскакивает ошибка (Internal чего-то там). Есть подозрение, что SQLORA32 работает только с Oracle 7, т.к. на Oracle 7 все ок.

Мне нужно решить проблему для Oracle 8.1.6.


 
Sergey13 ©   (2002-05-13 09:56) [3]

C BDEшным доступом не пробовал. С DOA такое работает.
А тебе нужна именно процедура? Почему не хочешь переделать ее в функцию. Может проще будет. Отселектил из дуала и все.


 
Judith ©   (2002-05-13 15:31) [4]

Попробуй написать имя пакета и процедуры большими буквами. dll32 должно стоять SQLORA32.DLL


 
DPashin   (2002-05-14 09:37) [5]

>Sergey13
>C BDEшным доступом не пробовал. С DOA такое работает.
К сожалению, нужно под BDE.

>А тебе нужна именно процедура?
Да. Представить в виде функции и селектить из дуала не получиться, т.к. процедура модифицирует таблицы.
----------------
>Judith
>Попробуй написать имя пакета и процедуры большими буквами.
Пробовал. Не помогло.

>dll32 должно стоять SQLORA32.DLL
SQLORA32 не работает с Oracle 8.


 
Reindeer Moss Eater   (2002-05-14 09:59) [6]

SQLORA32.dll прекрасно работает с любой восьмеркой



Страницы: 1 вся ветка

Текущий архив: 2002.06.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
14-7170
HDD
2002-04-22 16:56
2002.06.03
Что-нибудь про кодировки!


1-6955
Alku
2002-05-22 11:17
2002.06.03
Как изменить системное время в WinNT-2000 ?


4-7253
JaMin
2002-03-29 16:19
2002.06.03
Преобразование Virtual Key Code _to_ Scan Code


3-6940
AndrewK
2002-05-14 13:19
2002.06.03
Как программно зарегистрировать ODBC алиас?


14-7176
XEL
2002-04-22 22:58
2002.06.03
ИЗМЕНИТЬ СКОРОСТЬ CD-ROM