powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вызов процедуры с сервера из ФОКСА
6 сообщений из 6, страница 1 из 1
Вызов процедуры с сервера из ФОКСА
    #34585476
Ольга Семенова
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на сервере оракла есть Процедура
мне ее нужно вызвать из Фокса

Код: plaintext
1.
zapros="execute proc_name;"
MESSAGEBOX(SQLEXEC(Zavhandle,  zapros))

не проходит

Как мне быть?
...
Рейтинг: 0 / 0
Вызов процедуры с сервера из ФОКСА
    #34585519
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала сообщение об ошибке почитать
Код: plaintext
1.
aerror(laErr)
MessageBox(laErr[ 1 , 2 ])
...
Рейтинг: 0 / 0
Вызов процедуры с сервера из ФОКСА
    #34586388
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное zapros должен определяться примерно так
Код: plaintext
1.
2.
3.
4.
text to zapros textmerge noshow
begin
  proc_name;
end;
endtext 
...
Рейтинг: 0 / 0
Вызов процедуры с сервера из ФОКСА
    #34588632
Ольга Семенова
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на сервере Оракла есть функция возвращающая ID (это поле автоинкрементное) только что вставленной записи (в качестве параметров выступают инфа введеная в в компоненты Text)

вот ее текст
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SQL>  CREATE OR REPLACE FUNCTION func_name
   2     (my_fam in clients.fam%type,
   3     my_name in clients.name%type,
   4     my_otch in clients.otch%type,
   5     my_pol in clients.pol%type,
   6     my_pas_serya  in clients.Pas_serya%type,
   7     my_pas_nomer  in clients.Pas_nomer%type)
   8     RETURN NUMBER
   9     IS
  10     my_id NUMBER( 5 );
  11    BEGIN
  12     INSERT INTO clients  (Fam, Name, Otch, Pol, Pas_serya, Pas_nomer)
  13     VALUES (my_fam, my_name, my_otch, my_pol, my_pas_serya, my_pas_nomer )
  14     RETURNING Id_client INTO my_id;
  15     RETURN my_id;
  16     END;
  17   /

из фокса пытаюсь вызвать ее так
Код: plaintext
1.
2.
local lVal as Integer
zapros_main="Call  func_name('"+A1+"', '"+A2+"', '"+A3+"', '"+A4+"', '"+A5+"', '"+A6+"',?@lVal)"
SQLExec(ZavHandle,zapros_main)
но ничего не проходит - даже без ,?@lVal

из оракла функция вызывается так
Код: plaintext
1.
var my_id_client number
exec :my_id_client:=func_name('df','tyt','drr','м','4546','56767');

а из фокса не получается получить значение функции

Как же это делается?


так тоже не проходит

Код: plaintext
1.
2.
local lVal as Integer  
  zapros_main="Call  func_name('Сидоров', 'Петр','Семенович', 'ж', '1306', '34568'),?@lVal)"  
  SQLExec(ZavHandle,zapros_main)

ПОМОГИТЕ
...
Рейтинг: 0 / 0
Вызов процедуры с сервера из ФОКСА
    #34588659
Ольга Семенова
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
УРА - заработало ВОТ ТАК
Код: plaintext
1.
2.
3.
LOCAL lnReturnValue    
    lnReturnValue =  0   
    zapros_main="{?@lnReturnValue= Call func_name('"+A1+"', '"+A2+"', '"+A3+"', '"+A4+"', '"+A5+"', '"+A6+"')}"
    SQLEXEC(m.ZavHandle,zapros_main)) 
...
Рейтинг: 0 / 0
Вызов процедуры с сервера из ФОКСА
    #34592952
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я еще проверяю на ошибки каждый раз, при запросе к БД.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
TEXT TO lcSql NOSHOW PRETEXT  15 
select ... 
from ... 
where ... 
ENDTEXT
WAIT 'Идет обработка данных 1 этап из 2' NOWAIT WINDOW TIMEOUT  20  
IF SQLEXEC(_nCH,lcSql, 'c_Tmp')<= 0  
	AERROR(a_er)
	MESSAGEBOX('Ошибка № '+CAST(a_er( 1 ) as varchar( 6 ))+CHR( 13 )+a_er( 2 ),  16 )
	RETURN 
ENDIF
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вызов процедуры с сервера из ФОКСА
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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