Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ADO: выполнить скрипт на клиенте 
:(
    Опции темы
pavelv
Дата 27.9.2008, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 5.2.2006

Репутация: нет
Всего: нет



Здравствуйте!
Возник вопрос, скрипт выполняющийся следующим образом:
 TAdoCommand.Execute всегда выполняется на сервере? А можно ли перекинуть выполнение на клиента?

Нарыл в инете свойство:
Цитата

CursorLocation – определяет, где выполняется работа с набором на клиенте (clUseClient) или на сервере (clUseServer). Если набор данных расположен на клиенте, то с сервера данные запрашиваются однократно (или до выполнения повторного запроса), в дальнейшем вся выборка данных и позиционирование идет на клиенте. Однако модификация данных производится немедленно. 

Но что-то мне подсказывает, если я буду менять эти свойства толку не будет...
PM MAIL   Вверх
Deniz
Дата 29.9.2008, 07:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



pavelv, не совсем понятно, что ты хочешь сделать.
Выполнение запросов всегда происходит на сервере СУБД (dbf и т.д. не в счет), для этого у сервера есть свой оптимизатор этих запросов, он знает как построить план запроса, где лежат данные и т.д.
Перенеси СУБД на клиента и все запросы будут выполняться на этой машине.  smile
CursorLocation определяет как будет обрабатываться набор данных.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
pavelv
Дата 29.9.2008, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 5.2.2006

Репутация: нет
Всего: нет



Может не так выразился, я хочу тобы скрипт из Acommand выполнялся в транзакции smile.

Deniz итал о асинхронном выполнении в ADO, может оно как-то связано?


PM MAIL   Вверх
Deniz
Дата 30.9.2008, 05:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Цитата(pavelv @  29.9.2008,  16:38 Найти цитируемый пост)
Может не так выразился, я хочу тобы скрипт из Acommand выполнялся в транзакции
а в чем проблема? Стартуй транзакцию выполняй скрипт и commit.
Цитата(pavelv @  29.9.2008,  16:38 Найти цитируемый пост)
итал о асинхронном выполнении в ADO, может оно как-то связано?
асинхронность здесь ни при чем, это дает возможность работать с частью полученных данных, пока остальные докачиваются с сервера


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
pavelv
Дата 30.9.2008, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 5.2.2006

Репутация: нет
Всего: нет



Не понимаю. Дык когда я работаю с БД у меня и так и так будет транзакция и я её буду запускать 100%, без этого никак. Без транзакции изменения же не примуться или я что-то не допонимаю? Теперь чтобы мне выполнить скрипт в клиентской транзакции я должен сделать всё тоже самое...дык а как тогда выполнить скрипт в транзакции на сервере? Не совсем понятно, обрабатывается скрипт всегда на сервере независимо от того где и что с ним делают. Запутался короче, фигня какая-то smile.
PM MAIL   Вверх
Deniz
Дата 30.9.2008, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



pavelv, давай по порядку.
Нет такого понятия как "клиентская транзакция".
Транзакция это набор действий, которые выполняются все или отменяются все, но транзакцией заведует сервер, ты только "говоришь" серверу "Start Transaction" и пока ты не прислал Commit/Rollback сервер будет выполнять твои запросы в рамках этой транзакции с возможностью отмены этих действий. В зависимости от уровня изоляции транзакций, результаты могут быть видны или нет другим транзакциям до их завершения.
При выполнении какого либо запроса всегда стартует транзакция иногда неявно, т.е. запускается компонентами доступа к БД.
Что бы все не переписывать, могу посоветовать прочитать вот это, хоть и по InterBase, но ... может пригодится.
И еще вот такой документ тоже посмотри.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1260 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.