Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.06.03;
Скачать: [xml.tar.bz2];

Вниз

Как получить в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
14-7177
herosofnn
2002-04-23 15:57
2002.06.03
А вот интересно ...


3-6902
Классик
2002-05-11 11:43
2002.06.03
Нужно работать с БД в дос кодировке


3-6925
Rub
2002-05-14 09:51
2002.06.03
Пытаюсь запихать JPEG в поле binary... Проблемы похоже...


1-7078
Lobzik
2002-05-22 09:07
2002.06.03
StringGrid


1-7023
MegaVolt
2002-05-16 13:18
2002.06.03
Как сделать дерево выбора каталога с CheckBox`ами?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский