Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Возвращение с mssql курсора без буферизации / 25 сообщений из 26, страница 1 из 2
06.10.2006, 15:23
    #34038093
Генетический мусор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
Кто-нибудь знает как избавить курсор, полученный с mssql от автоматической буферизации кроме как сделать select * from mycursor into mycursor readwrite ?
...
Рейтинг: 0 / 0
09.10.2006, 08:31
    #34040605
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
А цель?
...
Рейтинг: 0 / 0
09.10.2006, 10:35
    #34040817
-=AlexiS=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
думаю что никак.
Да и смысл ?
...
Рейтинг: 0 / 0
09.10.2006, 10:40
    #34040837
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
я наоборот вижу недостатки в небуферизованном курсоре,
например curval() работает только на буферизованном
...
Рейтинг: 0 / 0
09.10.2006, 10:47
    #34040869
Drama Queen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
PaulWistА цель?

Чтобы не заморачиваться постоянным tableupdate() в результате например удаления строк из курсора. У меня все делается через ХП, мне буферизация только мешает.
...
Рейтинг: 0 / 0
09.10.2006, 11:14
    #34040967
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
ну и не заморачивайтесь

есть курсорадаптер
CursorAdapter.AllowUpdate=.f.

и он никогда у Вас не проапдейтится

только я наоборот стараюсь
сделать так, чтобы он автоматом
сохранился и еще продернул за собой
воз и маленькую тележку
разгрузить себя ...
...
Рейтинг: 0 / 0
09.10.2006, 11:16
    #34040971
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
Drama Queen PaulWistА цель?

Чтобы не заморачиваться постоянным tableupdate() в результате например удаления строк из курсора. У меня все делается через ХП, мне буферизация только мешает.

Стало ещё туманнее

В таком случае расскажите про свою технологию (как появляется курсор на клиенте, через что?) и как TableUpdate мешает вызову ХП сервера.

ЗЫ честное слово ничего не понял.
...
Рейтинг: 0 / 0
09.10.2006, 11:24
    #34040992
Drama Queen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
alex11100ну и не заморачивайтесь

есть курсорадаптер
CursorAdapter.AllowUpdate=.f.

и он никогда у Вас не проапдейтится

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

Свят свят свят, никаких курсор-адаптеров и близко не надо
...
Рейтинг: 0 / 0
09.10.2006, 11:26
    #34041003
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
2 PaulWist

а люди не ищут легких путей

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

тащут метр на локал
юзер чего-то меняет
затем шуруют склэкзеком
апдейт на сервер,
а затем руками апдейт по локалу

пипец
это просто ....
уже нет сил

и в итоге получают
что локал живет сам по себе
сервер сам по-себе
локал нив=чего не знает про сервер,
а серверу глубоко безразличны локальные курсоры ....
...
Рейтинг: 0 / 0
09.10.2006, 11:29
    #34041013
Drama Queen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
PaulWist Drama Queen PaulWistА цель?

Чтобы не заморачиваться постоянным tableupdate() в результате например удаления строк из курсора. У меня все делается через ХП, мне буферизация только мешает.

Стало ещё туманнее

В таком случае расскажите про свою технологию (как появляется курсор на клиенте, через что?) и как TableUpdate мешает вызову ХП сервера.

ЗЫ честное слово ничего не понял.

Вы действительно не поняли или с этим не сталкивались.
Есть буферизированный курсор, полученный с сервера. Допустим, мы удаляем несколько отмеченных позиций, в результате чего запускается соответствующая ХП на сервере и команда DELETE FROM myCursor на клиенте, чтобы визуально убрать записи из курсора. С буферизацией ничего не удаляется пока не будет дана команда tableupdate. Более того, в некоторых случаях фоксовский update по буферизированному курсору не выполняет никаких действий, опять таки до выполнения команды tableupdate(). Поэтому чтобы постоянно не заморачиться выполнением tableupdate, нужно просто напросто отключить буферизацию. Мне она попросту не нужна и только мешает.
...
Рейтинг: 0 / 0
09.10.2006, 11:30
    #34041016
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
Код: plaintext
Свят свят свят

ну да конечно,
а адейт руками - это супер

у Вас стратегия разработки
начала века ....

а уж про компиленные курсорадаптеры,
которые хранятся ...
а каскады, так это вообще ...
...
Рейтинг: 0 / 0
09.10.2006, 11:33
    #34041030
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
авторВы действительно не поняли или с этим не сталкивались.


ну а теперь
если по-нормальному?


-поднимаем КА
-прописываем ему...
-запоняем данными
-удаляем
-сохраняем изменения(делаем апдейт)

так вот пока на сервере не сохранится - локал не изменится
и вот это - логично
а у Вас все наоборот + куча проблем и трудозатрат
...
Рейтинг: 0 / 0
09.10.2006, 11:36
    #34041043
Drama Queen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
alex11100
ну да конечно,
а адейт руками - это супер


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

alex11100
у Вас стратегия разработки
начала века ....


Не видел написанного вами суперсовременного софта, однако уверен что ничего лучше автоматизации пивного ларька с одним продавцом я не увижу.

alex11100
а уж про компиленные курсорадаптеры,
которые хранятся ...
а каскады, так это вообще ...

???
...
Рейтинг: 0 / 0
09.10.2006, 11:37
    #34041045
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
alex111002 PaulWist

а люди не ищут легких путей

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

А как по другому? через коллекции или массивы?

alex11100
тащут метр на локал
юзер чего-то меняет
затем шуруют склэкзеком
апдейт на сервер,
а затем руками апдейт по локалу


Не понял, зачем делать update на локальном курсоре или имеется в виду tableupdate на локальный курсор, в принципе для каких-то задач есть смысл.

alex11100
и в итоге получают
что локал живет сам по себе
сервер сам по-себе
локал нив=чего не знает про сервер,
а серверу глубоко безразличны локальные курсоры ....

А здесь в чем противоречие или необходимо постоянно дергать сервер на предмет "а не изменились ли на сервере данные?"
...
Рейтинг: 0 / 0
09.10.2006, 11:38
    #34041057
Drama Queen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
alex11100
а у Вас все наоборот + куча проблем и трудозатрат

Вы просто не умеете их готовить (с)
...
Рейтинг: 0 / 0
09.10.2006, 11:42
    #34041072
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
2 PaulWist

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

тяжело писать
селекты, апдейты, делейты,
тяжело

КА позволяет облегчить жизнь программисту,
разгрузить его
...
Рейтинг: 0 / 0
09.10.2006, 11:45
    #34041084
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
откуда такие сведения?

достаточно, если я Вам скажу, что умею

точно так-же тяжело переубедить
людей, которые пишит по дос до сих пор

они доказывают, что
define window
activ window

это круто

а уж
createobject()
это тоже не методы большинства
...
Рейтинг: 0 / 0
09.10.2006, 12:21
    #34041230
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
Drama QueenВы действительно не поняли или с этим не сталкивались..

Да действительно из предыдущих постов не понял.

Drama Queen
Есть буферизированный курсор, полученный с сервера.

Надо полагать, что курсор на клиенте появляется через SQLEXEC([Select * from Table ...])

Drama Queen
Допустим, мы удаляем несколько отмеченных позиций, в результате чего запускается соответствующая ХП на сервере и команда DELETE FROM myCursor на клиенте, чтобы визуально убрать записи из курсора. С буферизацией ничего не удаляется пока не будет дана команда tableupdate.


Убрать удаленные записи можно настройкой SET DELETED ON/

А разве TableUpdate удаляет из локального курсора записи ?

Drama Queen
Более того, в некоторых случаях фоксовский update по буферизированному курсору не выполняет никаких действий, опять таки до выполнения команды tableupdate(). Поэтому чтобы постоянно не заморачиться выполнением tableupdate, нужно просто напросто отключить буферизацию. Мне она попросту не нужна и только мешает.

Для себя данную проблему решил

Код: plaintext
1.
SQLEXEC([select * from table],[MyCursor])
insert into MyLocalCursor select * from MyCursor
...
Рейтинг: 0 / 0
09.10.2006, 12:26
    #34041256
Drama Queen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
PaulWist
Убрать удаленные записи можно настройкой SET DELETED ON/

Включено, но у меня все равно записи остаются почему-то, до выполнения tableupdate()

Drama Queen
Для себя данную проблему решил

Код: plaintext
1.
SQLEXEC([select * from table],[MyCursor])
insert into MyLocalCursor select * from MyCursor


Ну я об этом написал в самом первом своем посте. Видимо других вариантов нет, через cursorsetprop буферизацию изменить нельзя для remote-курсоров.
...
Рейтинг: 0 / 0
09.10.2006, 12:52
    #34041351
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
Drama Queen PaulWist
Убрать удаленные записи можно настройкой SET DELETED ON/

Включено, но у меня все равно записи остаются почему-то, до выполнения tableupdate()


Ещё раз спрашиваю, разве после выполнения Tableupdate удаленные записи у Вас пропадают из курсора? И если да, то как это удалось достичь?

Drama Queen
Ну я об этом написал в самом первом своем посте. Видимо других вариантов нет, через cursorsetprop буферизацию изменить нельзя для remote-курсоров.

Да нельзя, можно только 3 и 5.
...
Рейтинг: 0 / 0
09.10.2006, 13:13
    #34041434
FM32YO aka KID
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
alex11100
уже пол года поддерживаю систему
в которой локальные курсоры пользуют
для того, чтобы юзеру показать, что
на сервере, что-то лежит

тащут метр на локал
юзер чего-то меняет
затем шуруют склэкзеком
апдейт на сервер,
а затем руками апдейт по локалу


1 -тянем выборку на локал (не 10 000 записей, а выборку)
2 - захотели модифицировать из выбранных 100 строк 25-ю = тянем миникурсор с 25-й строкой (а вдруг он изменился пока смотрели?) - модифицируем в том мини даные
3 - кинули на сервер параллельно перезапросив (пункт 1)
и???
получили, что локал не живет сам по себе...
однако, конечно - если он вытянул локал в п.1 и ушел в туалет на час.. то конечно....

Может и староватый метод.. а может и нет... что-то пока с КА не работал да и не хочется особо...
вона

Скажиет что я делаю не так?
...
Рейтинг: 0 / 0
09.10.2006, 16:36
    #34042235
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
http://]http://fox.wikis.com/wc.dll?Wiki~CursorAdapterOrNot~VFP

КА облегчает разработку,
КА позваляет абстрагироваться от источника
...
Рейтинг: 0 / 0
09.10.2006, 17:21
    #34042447
Crip
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
Бесплатно. Где нибудь там где свойства сессии выставляются.
авторCursorSetProp("Buffering",1,0)
...
Рейтинг: 0 / 0
09.10.2006, 17:55
    #34042556
Генетический мусор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
CripБесплатно. Где нибудь там где свойства сессии выставляются.
авторCursorSetProp("Buffering",1,0)
Код: plaintext
1.
2.
3.
4.
5.
6.
sqlexec(...,'select * from','mycursor')
CursorSetProp("Buffering", 1 , 0 )

messagebox(CursorGetProp("buffering"))

---
 3 
...
Рейтинг: 0 / 0
09.10.2006, 19:51
    #34042820
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возвращение с mssql курсора без буферизации
Любое View, а также результат работы SQLExec() или CursorAdapter автоматически устанавливается в режим буферизации 3 (оптимистическая буферизация строк) и может быть переключен только в режим буферизации 5 (оптимистическая буферизация таблиц).

Отключить буферизацию для таких курсоров или перевести ее в режим пессимистической буферизации - невозможно.

То, что здесь описывали как причину того, почему надо отключить буферизацию - это "закат солнца вручную".

По сути, это дублирование того, для чего и была создана буферизация. Вы просто создаете собственный буфер. Но не автоматически, а вручную. Дополнительным программированием. Естесственно, что "чужой" буфер уже не нужен.

Правда, я так и не понял, каким образом штатный буфер FoxPro может помешать ручной работе через SQLExec(). Ну, к тому коду, который Вы и так пишете, чтобы организовать свой собственный буфер добавьте пару команд: TableRevert() и Requery().
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Возвращение с mssql курсора без буферизации / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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