![]() |
|
![]() ![]() ![]() |
|
pavelv |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 5.2.2006 Репутация: нет Всего: нет |
Здравствуйте!
Возник вопрос, скрипт выполняющийся следующим образом: TAdoCommand.Execute всегда выполняется на сервере? А можно ли перекинуть выполнение на клиента? Нарыл в инете свойство:
Но что-то мне подсказывает, если я буду менять эти свойства толку не будет... |
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 8 Всего: 44 |
pavelv, не совсем понятно, что ты хочешь сделать.
Выполнение запросов всегда происходит на сервере СУБД (dbf и т.д. не в счет), для этого у сервера есть свой оптимизатор этих запросов, он знает как построить план запроса, где лежат данные и т.д. Перенеси СУБД на клиента и все запросы будут выполняться на этой машине. ![]() CursorLocation определяет как будет обрабатываться набор данных. -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
pavelv |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 5.2.2006 Репутация: нет Всего: нет |
Может не так выразился, я хочу тобы скрипт из Acommand выполнялся в транзакции
![]() Deniz итал о асинхронном выполнении в ADO, может оно как-то связано? |
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 8 Всего: 44 |
асинхронность здесь ни при чем, это дает возможность работать с частью полученных данных, пока остальные докачиваются с сервера -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
pavelv |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 5.2.2006 Репутация: нет Всего: нет |
Не понимаю. Дык когда я работаю с БД у меня и так и так будет транзакция и я её буду запускать 100%, без этого никак. Без транзакции изменения же не примуться или я что-то не допонимаю? Теперь чтобы мне выполнить скрипт в клиентской транзакции я должен сделать всё тоже самое...дык а как тогда выполнить скрипт в транзакции на сервере? Не совсем понятно, обрабатывается скрипт всегда на сервере независимо от того где и что с ним делают. Запутался короче, фигня какая-то
![]() |
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 8 Всего: 44 |
pavelv, давай по порядку.
Нет такого понятия как "клиентская транзакция". Транзакция это набор действий, которые выполняются все или отменяются все, но транзакцией заведует сервер, ты только "говоришь" серверу "Start Transaction" и пока ты не прислал Commit/Rollback сервер будет выполнять твои запросы в рамках этой транзакции с возможностью отмены этих действий. В зависимости от уровня изоляции транзакций, результаты могут быть видны или нет другим транзакциям до их завершения. При выполнении какого либо запроса всегда стартует транзакция иногда неявно, т.е. запускается компонентами доступа к БД. Что бы все не переписывать, могу посоветовать прочитать вот это, хоть и по InterBase, но ... может пригодится. И еще вот такой документ тоже посмотри. -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |