Здравствуйте, 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.)
Здравствуйте, 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.)
Большое спасибо за ответ.
Здравствуйте, OLDIG, Вы писали:
OLD>Или подскажите как это выяснить.
проще всего установить это свойство и посмотреть на результат
1) могут быть проблемы с контролами обрабатывающими набор даныых, например с гридом
2) большая нагрузка на ресурсы (память) сервера
лично мне в общем случае для MSSQL и JET мне пришлось отказаться от серверных курсоров