powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Возврат параметров VFP+ ODBC + ORACLE
9 сообщений из 9, страница 1 из 1
Возврат параметров VFP+ ODBC + ORACLE
    #32922602
Yuriy Zaytsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Как получить параметры возвращаемые процедурой ORACLE

nHandle = SQLCONNECT("TEST", "ИМЯ","ПАРОЛЬ")
c= SQLPREPARE(nHandle, "DECLARE err_nr number; trns_code number; err_msg VARCHAR2(400); BEGIN test.wrl_ext.PerformHARDputTRNS( err_nr, err_msg, trns_code, "+;
" substr(?PMDT,2,length(?PMDT)-2), ?TR_SUM, NULL,NULL,NULL, ?KOD_OP, "+ ;
" to_char(to_number(?ORD_NR)), to_date(?BSHEET_DT,'dd.mm.yyyy'),to_date(?VLDT,'dd.mm.yyyy'), "+;
" ?PAR_PAY_QUEUE, substr(?PAR_PAYER,2,length(?PAR_PAYER)-2), substr(?PAR_RECIP,2,length(?PAR_RECIP)-2), ?PAR_PAYER_ACC, "+;
" ?PAR_RECIP_ACC, ?PAR_PAYER_BIC, ?PAR_RECIP_BIC, ?PAR_PAYER_INN, ?PAR_RECIP_INN, ?PAR_PAYER_KPP,"+ ;
" ?PAR_RECIP_KPP, ?PAR_OKATO, ?PAR_KBK , ?PAR_TAX_REASON, ?PAR_TAX_PERIOD, ?PAR_TAX_DOC_N, ?PAR_TAX_TYPE,"+;
" ?PAR_TAX_STATUS, ?PAR_TAX_DATE ); "+;
" END;")

Т е я вызываю процедурину! Сама процедурина отрабатывает !
Она возвращает - должна вернуть! 3 параметра в моем случае!

err_nr number
trns_code
err_msg


КАК ЗАПОЛУЧИТЬ ИХ В VFP ?

"ЗАПСИБКОМБАНК" ОАО
Юрий Зайцев
...
Рейтинг: 0 / 0
Возврат параметров VFP+ ODBC + ORACLE
    #32922682
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чем команду на сервер передаете если так
SQLEXEC(nConnectionHandle, cSQLCommand, [CursorName] )

то CursorName задайте в нем должен быть результат
...
Рейтинг: 0 / 0
Возврат параметров VFP+ ODBC + ORACLE
    #32922709
Yuriy Zaytsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafчем команду на сервер передаете если так
SQLEXEC(nConnectionHandle, cSQLCommand, [CursorName] )

то CursorName задайте в нем должен быть результат


ДА!
если я ПРОСТО вызываю

cSQLCommand = "SELECT * FROM TABL1 where ... "

=SQLEXEC(nConnectionHandle, cSQLCommand, [CursorName]

То результат я получаю!

но я же вызываю ПРОЦЕДУРУ ORACL !
... BEGIN test.wrl_ext.PerformHARDputTRNS( ...

c= SQLPREPARE(nHandle, "DECLARE err_nr number; trns_code number; err_msg VARCHAR2(400); BEGIN test.wrl_ext.PerformHARDputTRNS( err_nr, err_msg, trns_code, "+;

А она не возвращает параметры в указаные мной переменные

err_nr
trns_code
err_msg

я полагаю что делаю что то не так!
...
Рейтинг: 0 / 0
Возврат параметров VFP+ ODBC + ORACLE
    #32922742
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_foxhelp/html/lngsqlexeclp_rp.asp
...
Рейтинг: 0 / 0
Возврат параметров VFP+ ODBC + ORACLE
    #32922759
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня лично такое ощущения что ваши переменные создаються в оракле где и остаються
посмотрите нет ли их в курсоре SQLRESULT
зы найдете что иное в мсдн обязательно напишите
опыта работы мало может чего не знаю
...
Рейтинг: 0 / 0
Возврат параметров VFP+ ODBC + ORACLE
    #32922839
Фотография sparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Не знаю как в Оракле а для возврата параметров из хранимой проедуры MsSQL
на стороне фокса и спользуется @ примерно так
Код: plaintext
1.
2.
3.
4.
ConnectId = SQLSTRINGCONNECT(...)
InputParm=""       && входной параметр процедуры
InputOutputParm=""  && входной - выходной параметр процедуры
nRetCode = SQLEXEC(ConnectId, "execute PorcedureSql ?InputParm, ?@InputOutputParm", cCursorName)  
...
Рейтинг: 0 / 0
Возврат параметров VFP+ ODBC + ORACLE
    #32922974
Yuriy Zaytsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот попроще вариант!
как добится результата !


s = 0
x = 1

c=sqlexec(1,"declare s number; begin s:=?x; end;")

Как добиться ! ТОЛЬКО это должен сделать ORACL и вернуть
получить s = 1
...
Рейтинг: 0 / 0
Возврат параметров VFP+ ODBC + ORACLE
    #32925165
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Yuriy!

На кой тебе там анонимный PL/SQL блок, я не знаю, а если "по нормальному"
делать, то примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
...
LOCAL err_nr, err_msg, trns_code
err_nr =  0 
err_msg = ""
trns_code =  0 
lnRes = SQLEXEC(m.nHandle, "{call 
test.wrl_ext.PerformHARDputTRNS(?@err_nr, ?@err_msg, ?@trns_code, 
?прочие_параметры...}")


Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Возврат параметров VFP+ ODBC + ORACLE
    #32925689
Yuriy Zaytsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor KorolyovHi Yuriy!

На кой тебе там анонимный PL/SQL блок, я не знаю, а если "по нормальному"
делать, то примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
...
LOCAL err_nr, err_msg, trns_code
err_nr =  0 
err_msg = ""
trns_code =  0 
lnRes = SQLEXEC(m.nHandle, "{call 
test.wrl_ext.PerformHARDputTRNS(?@err_nr, ?@err_msg, ?@trns_code, 
?прочие_параметры...}")


Posted via ActualForum NNTP Server 1.1

Игорь спасибо!

LOCAL Yx
&& <-УБЕРИ LOCAL и все рухнет !!! yx станет равным = 0 после возврата
yx = 0
? SQLEXEC(nHandle, "declare s number; d number; begin ?@yx :=?yx+100; end;" )
yx = 100

ЭТО Я КАК ПРИМЕР ПРИВОДИЛ!!! дело в том что параметры просто не возвращались...

на самом деле вся проблема была в том что
параметры возвращаются ТОЛЬКО ЕСЛИ ИХ объявить LOCAL !!!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Возврат параметров VFP+ ODBC + ORACLE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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