Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ADO [D7, XP]


Страницы:   1 2 3 4 5 6 7 8

DimOk ©   (2008-03-03 09:34:00) 

Доброго времени суток вам мастера. Скажите пожалуйсто как можно ускорить работу ADO. У меня ситуация следующая - таблица имеет около 20 тысяч записей, после того как я пишу ADOTable.Activate := True; сижу и смоотрю в монитор минут пять, при чем на достаточно хорошм железе.... Все настройки компонента по умолчанию, за исключением Connection


Kolan   (2008-03-03 12:54:00) [41]

А ты параметры в диалоге выбираешь?


DimOk   (2008-03-03 12:52:00) [42]

Наверное у меня драйвер не правильно работает.... Сейчас опять пустой проект создали попробовал через ODBC Ошибка SQLSetConnectAttr драйвера.


sniknik   (2008-03-03 12:50:00) [43]

> В данном случа Table а не Database
нет. в данном случае как раз таки Database, т.к. реплика была к
DimOk   (03.03.08 12:36) [108]
...
> Еще хуже.... среда повисла..... :(
а там указано в подключении вовсе не Table.


Сергей М.   (2008-03-03 12:45:00) [44]


> В данном случа Table а не Database
>


по барабану.

И так и эдак должнго работать


DimOk   (2008-03-03 12:44:00) [45]


> DSN "Visual FoxPro Database"

В данном случа Table а не Database


sniknik   (2008-03-03 12:43:00) [46]

>  Еще хуже.... среда повисла..... :(
а DSN "Visual FoxPro Database" у тебя есть? чтобы к нему подключаться...

а вообще, все это как как мертвому припарки... настройками не поможешь, реализацию/логику менять надо.


DimOk   (2008-03-03 12:42:00) [47]


> Я так и не понял. у тебя vfp odbc установлен или нет ?

Да. Но когда я в ODBC выбираую поставщика Microsoft Visual FoxPro Table , то вылетает ошибка инициализации поставщика :(


Сергей М.   (2008-03-03 12:40:00) [48]


> DimOk   (03.03.08 12:36) [108]
>
>


Я так и не понял. у тебя vfp odbc установлен или нет ?


DimOk   (2008-03-03 12:36:00) [49]


> Provider=MSDASQL.1;Persist Security Info=False;Extended
> Properties="DSN=Visual FoxPro Database;UID=;SourceDB=g:\DBASES\SOME_VFPDB_DIR;
> SourceType=DBF;Exclusive=No;Back groundFetch=Yes;Collate=Machine;
> Null=Yes;Deleted=Yes;"


Еще хуже.... среда повисла..... :(


Palladin   (2008-03-03 12:29:00) [50]


> Сергей М. ©   (03.03.08 12:23) [105]

угу... согласен...


Сергей М.   (2008-03-03 12:28:00) [51]

Вот строка подключения для связки ADO -> OLEDB for ODBC -> VFP ODBC:

Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=Visual FoxPro Database;UID=;SourceDB=g:\DBASES\SOME_VFPDB_DIR;SourceType=DBF;Exclusive=No;Back groundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;"

p.s. Флаг ShareDenyNone убрать нафих !


Сергей М.   (2008-03-03 12:23:00) [52]


> Palladin ©   (03.03.08 12:05) [99]


Я просто полностью не исключаю "кривизну" имеющегося у автора oledb-провайдера.. Или "кривизну" его инсталляции.

А MSAccess позволит подключиться к фоксовым таблицам иным маршрутом - через OLEDB for ODBC + VFP ODBC .. хотя бы для исключения подозрения на "кривизну"


DimOk   (2008-03-03 12:19:00) [53]


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

И что при запуске формы на гриде отображается тлько количество строк которое в него вмещается...? :)


Palladin   (2008-03-03 12:14:00) [54]

смотри
> sniknik ©   (03.03.08 12:09) [100]

про выборку всей таблицы


DimOk   (2008-03-03 12:14:00) [55]


> > выставь парметры
> >
> > q.CursorLocation:=clUseServer;
> > q.CursorType:=ctOpenForwardOnly;
> > q.LockType:=ltReadOnly;
>
> Всеравно медленно.... :(

И выдает ошибку Dataset does not support bookmarks, with are required for multi-record data controls


DimOk   (2008-03-03 12:11:00) [56]


> выставь парметры
>
> q.CursorLocation:=clUseServer;
> q.CursorType:=ctOpenForwardOnly;
> q.LockType:=ltReadOnly;

Всеравно медленно.... :(


sniknik   (2008-03-03 12:09:00) [57]

> Хотя в фоксе кидаешь грид на форму, устанавливаешь ему в качестве источника данных эту таблици и.. вуаля,
> грид заполняется практически мнгновенно....
сравнил. там же не делается выборки всей таблицы предварительно, там она просто открывается как файл и отображаются(читаются) только несколько первых строк по числу показанных в гриде.

реализация в общем там не твоя... уже сделано все за тебя.


Palladin   (2008-03-03 12:05:00) [58]


> остается попробовать через связку ADO+ODBC или Jet+ODBC

лучше не надо, в случае существования OLEDB провайдера


Palladin   (2008-03-03 12:04:00) [59]

выставь парметры

q.CursorLocation:=clUseServer;
q.CursorType:=ctOpenForwardOnly;
q.LockType:=ltReadOnly;


Сергей М.   (2008-03-03 12:02:00) [60]

ODBC - это
http://www.google.ru/search?complete=1&hl=ru&newwindow=1&client=firefox-a&rls=org.mozilla:ru:official&hs=Lml&defl=ru&q=define:ODBC&sa=X&oi=glossary_definition&ct=title

Не вдаваясь в подробности, для тебя это выглядит как "поставщик данных" или "источник данных".

Соотв. драйвер ODBC должен быть утановлен в системе.

В строке ADO-коннекта ты должен указать, что ты используешь именно odbc-, а не oledb-поставщика данных.

Равно как и при импорте/привязке внешних таблиц в MS Access-базе ты можешь указать, что источником данных является такой-то конкретный odbc-движок.

Только MS Access подключается к odbc-движку через "родной" для него Jet, а не через ADO.


Страницы:   1 2 3 4 5 6 7 8

Наверх

Титульная страница Поиск, карта сайта Написать письмо