powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как получить переменные их хранимой процедуры
5 сообщений из 5, страница 1 из 1
Как получить переменные их хранимой процедуры
    #35296392
CupeHb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, как при вызове хранимой процедуры (на DB2) из FOXPRO задать один параметр и получить на выходе значение нескольких параметров

входной параметр @NOMVAG=21
выходные параметры RODVAG,CODE

n2=sqlexec(N,Call имя схемы.название процедуры(NOMVAG=21) returning RODVAG,CODE)
*скорее всего тут синтаксическая ошибка.

*пробовала и по другому
n2=sqlexec(N,"{Call имя схемы.название процедуры(21,0,0)}")
*но при этом не знаю получилось или нет, так как не знаю, как потом выходные значения увидеть и взять

мне если это возможно нужен самый простой пример в котором есть входной и выходной параметры, выходной я могу потом увидеть и главное понять, как это сделается.

C Уважением ,Сирень
...
Рейтинг: 0 / 0
Как получить переменные их хранимой процедуры
    #35298877
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вызвать хранимую процедуру с параметрами из Foxpro, очевидно, должно быть отражено в документации Foxpro, и спрашивать имеет смысл не здесь, а на форуме Foxpro. Я бы ждал что-нибудь похожее на
Код: plaintext
1.
2.
3.
NOMVAG= 21 
n2=sqlexec("N","{CALL имя схемы.название_процедуры(?,?,?)}", NOMVAG, @RODVAG, @CODE) 
смотрим RODVAG и CODE
но у меня Foxpro нет.
...
Рейтинг: 0 / 0
Как получить переменные их хранимой процедуры
    #35298947
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ах, в N находится коннект в базе? В остальном моя строка похожа на правду. Не уверен насчёт необходимости фигурных скобок. Маркеры параметров для DB2 CLI/ODBC должны быть

CALL имя схемы.название_процедуры(?,?,?)

однако я не удивлюсь, если Фокс будет использовать

CALL имя схемы.название_процедуры(:NOMVAG, :RODVAG, :CODE)
или даже
CALL имя схемы.название_процедуры(@NOMVAG, @RODVAG, @CODE)

разбирая строку самостоятельно, заменяя имена на вопросики и передавая на сервер 'CALL имя схемы.название_процедуры(?,?,?) '- так делают некоторые продукты. Тут и нужна документация по Фоксу.

Как я помню, у Клиппера @ передавало параметр по ссылке, а без @ - по значению. Наверное, у Фокса также. Поэтому может оказаться верным что-то из:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
N=SQLConnect("имя базы","логин","пароль")
NOMVAG= 21 
RODVAG= 0 
CODE= 0 
n2=sqlexec(N,"{CALL имя схемы.название_процедуры(?,?,?)}", NOMVAG, @RODVAG, @CODE) 
n2=sqlexec(N,"{CALL имя схемы.название_процедуры(:NOMVAG, :RODVAG, :CODE)}", NOMVAG, @RODVAG, @CODE) 
n2=sqlexec(N,"{CALL имя схемы.название_процедуры(@NOMVAG, @RODVAG, @CODE)}", NOMVAG, @RODVAG, @CODE) 
n2=sqlexec(N,"CALL имя схемы.название_процедуры(?,?,?)", NOMVAG, @RODVAG, @CODE) 
n2=sqlexec(N,"CALL имя схемы.название_процедуры(:NOMVAG, :RODVAG, :CODE)", NOMVAG, @RODVAG, @CODE) 
n2=sqlexec(N,"CALL имя схемы.название_процедуры(@NOMVAG, @RODVAG, @CODE)", NOMVAG, @RODVAG, @CODE) 
...
Рейтинг: 0 / 0
Как получить переменные их хранимой процедуры
    #35298975
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё вариант ;-)

Код: plaintext
1.
2.
3.
4.
5.
N=SQLConnect("имя базы","логин","пароль")
NOMVAG= 21 
RODVAG= 0 
CODE= 0 
n2=sqlexec(N,"CALL имя схемы.название_процедуры(?@NOMVAG, ?@RODVAG, ?@CODE)") 
...
Рейтинг: 0 / 0
Как получить переменные их хранимой процедуры
    #35298990
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Финальный. Так сказать, ultimate. Убрал @ перед первым параметром. Фокса нет - проверять не на чем.

Код: plaintext
1.
2.
3.
4.
N=SQLConnect("имя базы","логин","пароль")
NOMVAG= 21 
RODVAG= 0 
CODE= 0 
n2=sqlexec(N,"CALL имя схемы.название_процедуры(?NOMVAG, ?@RODVAG, ?@CODE)") 
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как получить переменные их хранимой процедуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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