Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / удалённое представление / 22 сообщений из 22, страница 1 из 1
09.10.2006, 11:24
    #34040995
Guest1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
задача : надо изменить данные удалённой таблицы в соответствии с локальной таблицей
в локальном представлении использую удалённое представление
делаю replace текущей записи, на экране вижу, что в удалённом представлении запись изменилась, закрываю представление, ...
в базе никакого изменения не произошло.

поле, которое изменяю, неключевое и ни с какими другими полями не связано.
в update ctiteria все необходимые "галки" для update стоят
что делаю не так ?
...
Рейтинг: 0 / 0
09.10.2006, 11:32
    #34041022
-=AlexiS=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
а таблеапдате удаленному представлению делали ?
...
Рейтинг: 0 / 0
09.10.2006, 11:36
    #34041041
Guest1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
а как его делать ? подскажите, пожалуйста
...
Рейтинг: 0 / 0
09.10.2006, 11:39
    #34041060
Guest1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
ведь в самом представлении ставлю галку на Send SQL update
и в Updqte using
и на поле которое изменяю ставлю галку "редактируемое"
разве этого не достаточно ?
...
Рейтинг: 0 / 0
09.10.2006, 11:46
    #34041088
-=AlexiS=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
как делать
так и делать
select удаленное представление
Tableupdate
оно же у вас буферизированое - поэтому нужно буфера сбросить.
...
Рейтинг: 0 / 0
09.10.2006, 13:02
    #34041388
Guest1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
= TABLEUPDATE(.T.) после replace не помогло
...
Рейтинг: 0 / 0
09.10.2006, 13:28
    #34041498
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
>= TABLEUPDATE(.T.) после replace не помогло
Ну так смотрите что вам вернула TABLEUPDATE, если .F. то получите по AERROR() код и причину ошибки и анализируйте информацию
...
Рейтинг: 0 / 0
09.10.2006, 14:50
    #34041824
Guest1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
вот выдала AERROR

1526
Connectivity error:
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'dbo' to a column of data type int.
22005
245
1
.NULL.

прошу помочь разобраться ...
- если бы неправильно был указан тип изменяемого поля, он бы не изменился на экране
почему тогда пишет "error converting the nvarchar value 'dbo' to a column of data type int" ?

- если это ошибка триггера добавления, какие должны быть мои действия по исправлению ?

спасибо
...
Рейтинг: 0 / 0
09.10.2006, 15:46
    #34042032
-=AlexiS=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
Guest1- если бы неправильно был указан тип изменяемого поля, он бы не изменился на экране

Не обязательно - то что на экране - это отображение на клиенте того что фокс получил от сервера и как-то преобразовал к своему типу курсора.
А когда вы пытаетесь обновить даннные на сервере, происходит обратный конвертаж, вот при нем-то и происходит "затык".
Посмотрите профайлером , что именно происходит в момент обновления , какая команда.

Guest1- если это ошибка триггера добавления, какие должны быть мои действия по исправлению ?
ну это вам виднее , что там в триггере твориться.

Попробуйте выполнить апдейт из QA - что получиться ?
...
Рейтинг: 0 / 0
10.10.2006, 13:05
    #34044104
Guest1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
всё разобралась, получилось
спасибо всем, не бросившим меня в трудную минуту :)

дело было в триггере
отключила его
через VFP remote view внесла изменение в таблицу
включила триггер
...
Рейтинг: 0 / 0
11.10.2006, 13:53
    #34047256
Guest1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
а какую бы вот здесь хитрость применить ?

при созданном удалённом представлении и replace varchar(200),NULL поля таблицы SQL полем с(200) VFP
текст переносится в SQL c хвостовыми пробелами, несмотря на то, что в команде
указано alltrim
replace полеSQL with allt(полеVFP)


спасибо
...
Рейтинг: 0 / 0
11.10.2006, 14:18
    #34047394
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
С каких это пор в SQL сервере замена значения в поле стала производится через Replace? Вы ничего не перепутали?
...
Рейтинг: 0 / 0
11.10.2006, 14:23
    #34047421
Guest1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
не перепутала ...
при использовании удалённого представления-меняет
только вот не хочет отсекать хвостовые пробелы
...
Рейтинг: 0 / 0
11.10.2006, 14:37
    #34047479
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
И все-таки перепутала. Замена в удаленном представлении - это замена в курсоре, полученном в результате запроса к серверу. Собственно обновление на сервере происходит по TableUpdate() или прямым запросом через SQLEXEC(). Так что ALltrim() в приведенном примере - мертвому припарки.
...
Рейтинг: 0 / 0
11.10.2006, 14:56
    #34047575
Guest1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
1. для чего тогда опция update criteria в remote view ?
2. реально вижу что данные изменились
...
Рейтинг: 0 / 0
11.10.2006, 15:04
    #34047609
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
Вы видите то, что и должно быть видно, но не правильно представляете механизм работы. Еще раз повторяю, что изменения вы вносите в курсор и только потом механизм удаленного представления переносит эти изменения на сервер.
...
Рейтинг: 0 / 0
11.10.2006, 15:26
    #34047740
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
Собственно обновление на сервере происходит по TableUpdate() или прямым запросом через SQLEXEC().
Ну еще есть неявный TableUpdate, происходящий при 3-й буферизации при сходе со строки, которая и стоит по умолчанию у вьюхи. Вот человек и подумал что оно само обновляется :D
...
Рейтинг: 0 / 0
11.10.2006, 17:16
    #34048247
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
Если версия FoxPro младше 9, то через View эта проблема не решается.

Отсечь концевые пробелы можно будет либо через триггер на самом сервере, либо отказом от обновления через Remote View и переходом на прямые запросы по SQLExec()

Правда, есть еще вариант в самом Remote View заменить тип данных Cahracter на Memo (кнопка Properties на первой закладке дизайнера View). Сам не пробовал, не знаю что получится.

Если версия VFP9, то проблема решается через поля типа VarChar, которые как раз и были введены в VFP9.


Однако во многих случаях можно не морочить себе голову. 255 пробелов - не такой уж большой объем, чтобы из-за него что-то там мудрить и отсекать. Хотя, конечно, хависит от задачи.
...
Рейтинг: 0 / 0
12.10.2006, 15:57
    #34051078
Guest1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
установила 9.0
попробовала с полем varchar через remote view
всё получилось, и концевые пробелы отсеклись
а чем отсекала - не скажу, потому что человек с ником "проходящий" не поверит и опять скажет что я перепутала :)
...
Рейтинг: 0 / 0
12.10.2006, 16:02
    #34051108
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
Ну да,я просто Фома неверующий! :) Но если расскажете, то я, возможно, объясню как это произошло. :)
...
Рейтинг: 0 / 0
12.10.2006, 16:19
    #34051183
Guest1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
проходящийНу да,я просто Фома неверующий! :) Но если расскажете, то я, возможно, объясню как это произошло. :)
icq 329931650
...
Рейтинг: 0 / 0
12.10.2006, 16:30
    #34051235
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удалённое представление
Я, конечно же, польщен, но воспользоваться аськой пока не могу.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / удалённое представление / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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