ADO + Access
От: OLDIG  
Дата: 29.10.04 09:33
Оценка:
Здравствуйте!
Подскажите пожалуйста, работает ли свойство ADO компонентов CursorLocation=clUseServer с БД Access.
Или подскажите как это выяснить.
Re: ADO + Access
От: Elena_ Россия  
Дата: 29.10.04 22:14
Оценка:
Здравствуйте, OLDIG, Вы писали:

OLD>Здравствуйте!

OLD>Подскажите пожалуйста, работает ли свойство ADO компонентов CursorLocation=clUseServer с БД Access.
OLD>Или подскажите как это выяснить.

По умолчанию как раз и есть CursorLocation = adUseServer, и обычно и не нужно менять его на adUseClient

см. например, Access 2002 Desktop Developer's Handbook Paul Litwin, Ken Getz, and Mike Gunderloy
Chapter 15: Application Optimization (эта глава есть в MSDN)

When you create an ADO recordset retrieving Jet data, do not specify adUseClient for the recordset's CursorLocation property. (The default is adUseServer, so you would have to specify adUseClient intentionally.) Although it may seem that because Jet isn't a client/server database engine, you should choose adUseClient, this logic is incorrect. If you choose adUseClient for the CursorLocation property, you're asking ADO to create its own cursor, in addition to the one Jet always creates. The time difference between using adUseClient and adUseServer is measurable, so don't fall into this trap unless you have some reason to use adUseClient. (Disconnected and in-memory operations, for example, require a client-side cursor, so you won't be able to avoid using adUseClient.)

Пользователь — друг программиста!
Re[2]: ADO + Access
От: Аноним  
Дата: 01.11.04 10:20
Оценка:
Здравствуйте, Elena_, Вы писали:

E_>Здравствуйте, OLDIG, Вы писали:


OLD>>Здравствуйте!

OLD>>Подскажите пожалуйста, работает ли свойство ADO компонентов CursorLocation=clUseServer с БД Access.
OLD>>Или подскажите как это выяснить.

E_>По умолчанию как раз и есть CursorLocation = adUseServer, и обычно и не нужно менять его на adUseClient


E_>см. например, Access 2002 Desktop Developer's Handbook Paul Litwin, Ken Getz, and Mike Gunderloy

E_>Chapter 15: Application Optimization (эта глава есть в MSDN)

E_>

E_>When you create an ADO recordset retrieving Jet data, do not specify adUseClient for the recordset's CursorLocation property. (The default is adUseServer, so you would have to specify adUseClient intentionally.) Although it may seem that because Jet isn't a client/server database engine, you should choose adUseClient, this logic is incorrect. If you choose adUseClient for the CursorLocation property, you're asking ADO to create its own cursor, in addition to the one Jet always creates. The time difference between using adUseClient and adUseServer is measurable, so don't fall into this trap unless you have some reason to use adUseClient. (Disconnected and in-memory operations, for example, require a client-side cursor, so you won't be able to avoid using adUseClient.)



Большое спасибо за ответ.
Re: ADO + Access
От: Sergey__ Россия  
Дата: 07.11.04 16:36
Оценка:
Здравствуйте, OLDIG, Вы писали:

OLD>Или подскажите как это выяснить.

проще всего установить это свойство и посмотреть на результат

1) могут быть проблемы с контролами обрабатывающими набор даныых, например с гридом
2) большая нагрузка на ресурсы (память) сервера

лично мне в общем случае для MSSQL и JET мне пришлось отказаться от серверных курсоров
Sergey
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.