Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

FoxPro: запись информации в удалённую таблицу

Добрый день!
Опять возникла проблема по FoxPro.
Всё дело в том, что необходимо записать данные в таблицу на удалённом компьютере.

STORE SQLCONNECT('Sapr_SbSv') TO lnConnHandle * Производим соединение с удалённом
базой данных
....
* Производим определение параметров р1...р11
....
* Формируем строку запроса для записи информации в таблицу, которая находится
в базе данных на удалённом компьютере
lcSQLStroka=[insert into sb_norm (p015, p530, p030, naim_op, p540, p229, h310,
p300, p230, p032) ]+;
[values (?p1,?p2,?p3,?p4,?p5,?p6,?p7,?p8,?p9,?p10,?p11)]
DO exec_conn WITH lnConnHandle,lcSQLStroka IN write_in_sapr * Выполняем процедуру
вставки

PROCEDURE exec_conn
PARAMETERS lnHandle,lcSQLStroka
SQLPREPARE(lnHandle,lcSQLStroka,'rezult_imba')
loAnswer=SQLEXEC(lnHandle)
IF loAnswer=-1
MESSAGEBOX('Внимание! Выполнение "сквозного" запроса было выполнено некорректно!'+CHR(13)+CHR(13)+;
'Обратитесь к разработчикам!',16,'Ошибка!')
SQLDISCONNECT(lnHandle)
RETURN TO MASTER
ENDIF
ENDPROC

Проблема в том, что функция SQLEXEC в случае вставки информации возвращает всегда
-1. Причём когда использую SELECT, то запрос выполняется корректно.
Вот и не могу понять, где какие свойства надо установить (может быть у соединения
"Sapr_SbSv" или в ODBC, которое прописано в данном соединении), чтобы запрос
на вставку тоже выполнялся.

Пробовал делать по-другому: через REMOTE VIEW, но тоже никак не получается обновлять
удалённую таблицу, хотя в само представление информация записывается.
SQL-текст удалённого представления привожу ниже:
SELECT Sb_norm.p015, Sb_norm.p530, Sb_norm.p030, Sb_norm.naim_op,;
Sb_norm.p540, Sb_norm.p229, Sb_norm.h310, Sb_norm.p300, Sb_norm.p230,;
Sb_norm.p032, Sb_norm.dat_zap;
FROM ;
sb_norm Sb_norm

DBSetProp(ThisView,"View","SendUpdates",.T.)
DBSetProp(ThisView,"View","BatchUpdateCount",1)
DBSetProp(ThisView,"View","CompareMemo",.T.)
DBSetProp(ThisView,"View","FetchAsNeeded",.F.)
DBSetProp(ThisView,"View","FetchMemo",.T.)
DBSetProp(ThisView,"View","FetchSize",100)
DBSetProp(ThisView,"View","MaxRecords",-1)
DBSetProp(ThisView,"View","Prepared",.F.)
DBSetProp(ThisView,"View","ShareConnection",.T.)
DBSetProp(ThisView,"View","AllowSimultaneousFetch",.F.)
DBSetProp(ThisView,"View","UpdateType",2)
DBSetProp(ThisView,"View","UseMemoSize",255)
DBSetProp(ThisView,"View","Tables","sb_norm")
DBSetProp(ThisView,"View","WhereType",3)

DBSetProp(ThisView+".p015","Field","DataType","C(18)")
DBSetProp(ThisView+".p015","Field","UpdateName","sb_norm.p015")
DBSetProp(ThisView+".p015","Field","KeyField",.F.)
DBSetProp(ThisView+".p015","Field","Updatable",.T.)

DBSetProp(ThisView+".p530","Field","DataType","N(3)")
DBSetProp(ThisView+".p530","Field","UpdateName","sb_norm.p530")
DBSetProp(ThisView+".p530","Field","KeyField",.F.)
DBSetProp(ThisView+".p530","Field","Updatable",.T.)

DBSetProp(ThisView+".p030","Field","DataType","N(3)")
DBSetProp(ThisView+".p030","Field","UpdateName","sb_norm.p030")
DBSetProp(ThisView+".p030","Field","KeyField",.F.)
DBSetProp(ThisView+".p030","Field","Updatable",.T.)

DBSetProp(ThisView+".naim_op","Field","DataType","C(60)")
DBSetProp(ThisView+".naim_op","Field","UpdateName","sb_norm.naim_op")
DBSetProp(ThisView+".naim_op","Field","KeyField",.F.)
DBSetProp(ThisView+".naim_op","Field","Updatable",.T.)

DBSetProp(ThisView+".p540","Field","DataType","C(3)")
DBSetProp(ThisView+".p540","Field","UpdateName","sb_norm.p540")
DBSetProp(ThisView+".p540","Field","KeyField",.F.)
DBSetProp(ThisView+".p540","Field","Updatable",.T.)

DBSetProp(ThisView+".p229","Field","DataType","N(1)")
DBSetProp(ThisView+".p229","Field","UpdateName","sb_norm.p229")
DBSetProp(ThisView+".p229","Field","KeyField",.F.)
DBSetProp(ThisView+".p229","Field","Updatable",.T.)

DBSetProp(ThisView+".h310","Field","DataType","N(12,3)")
DBSetProp(ThisView+".h310","Field","UpdateName","sb_norm.h310")
DBSetProp(ThisView+".h310","Field","KeyField",.F.)
DBSetProp(ThisView+".h310","Field","Updatable",.T.)

DBSetProp(ThisView+".p300","Field","DataType","C(2)")
DBSetProp(ThisView+".p300","Field","UpdateName","sb_norm.p300")
DBSetProp(ThisView+".p300","Field","KeyField",.F.)
DBSetProp(ThisView+".p300","Field","Updatable",.T.)

DBSetProp(ThisView+".p230","Field","DataType","C(2)")
DBSetProp(ThisView+".p230","Field","UpdateName","sb_norm.p230")
DBSetProp(ThisView+".p230","Field","KeyField",.F.)
DBSetProp(ThisView+".p230","Field","Updatable",.T.)

DBSetProp(ThisView+".p032","Field","DataType","N(3)")
DBSetProp(ThisView+".p032","Field","UpdateName","sb_norm.p032")
DBSetProp(ThisView+".p032","Field","KeyField",.F.)
DBSetProp(ThisView+".p032","Field","Updatable",.T.)

DBSetProp(ThisView+".dat_zap","Field","DataType","T")
DBSetProp(ThisView+".dat_zap","Field","UpdateName","sb_norm.dat_zap")
DBSetProp(ThisView+".dat_zap","Field","KeyField",.F.)
DBSetProp(ThisView+".dat_zap","Field","Updatable",.T.)

ПОдскажите, какие свойства надо подправить.
С уважением, Бурляев Вячеслав

Номер выпуска : 5166
Возраст листа : 870 (дней)
Количество подписчиков : 547
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/511886
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Tue, 7 Feb 2006 08:42:20 +0500 (#511886)

 

Ответы:

компьютере.

Проблема отпала. оказывается, что запись в таблицу происходила из-за того,
что в таблице на удалённом компьютере присутствовали поля not null, а в
представлении я их не включил (не нужны они мне).
Всё работает. тема закрыта.

С уважением, Бурляев Вячеслав

Номер выпуска : 5168
Возраст листа : 870 (дней)
Количество подписчиков : 547
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/511907
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Tue, 7 Feb 2006 10:36:14 +0500 (#511907)