Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / использование ADO в Delphi / 12 сообщений из 12, страница 1 из 1
21.08.2003, 10:07
    #32242691
ADO
ADO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование ADO в Delphi
Необходимо выполнить закачку (или обновление) большого объема даных из *.db файлов в базу MS SQL используя только ADO компоненты. Так вот, скорость закачки очень низкая и еще снижается при закачки 30 тыс записей и более. Не подскажет ли кто-нибудь способ увеличить скорость закачки?
...
Рейтинг: 0 / 0
21.08.2003, 10:13
    #32242704
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование ADO в Delphi
А Delphi то тут причем? У сиквела и так богатый набор средств по импорту\экспорту данных, DTS, например.
...
Рейтинг: 0 / 0
21.08.2003, 10:55
    #32242777
ADO
ADO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование ADO в Delphi
Этот способ в моей ситуации не приемлем. Нужно увеличить скорость прохода по таблице и скорость обновления записи.
...
Рейтинг: 0 / 0
21.08.2003, 11:00
    #32242793
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование ADO в Delphi
Этот способ в моей ситуации не приемлем.

Чем это, а?

Нужно увеличить скорость прохода по таблице и скорость обновления записи.

А как ты увеличишь скорость, если тебе надо именно на ADO? Открыть набор на клиенте на 30 000 записей уже требует немалых ресурсов и времени. Да и позаписная вставка на сиквел тормоз еще тот. А подругому с клиента не получиться. А какой у тебя тип CursorType у набора стоит. Попробуй ctOpenForwardOnly поставить. Но лучше на сиквеле забацать job, а вот уж с клиента через ADO этот job и запускай.
...
Рейтинг: 0 / 0
21.08.2003, 11:07
    #32242816
Andrey Daeron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование ADO в Delphi
Для ускорения можно сохранить базу в файл :) линейной записью. Т.е. читаем и пишем, а потом из файла BULK INSERT.
...
Рейтинг: 0 / 0
21.08.2003, 11:18
    #32242840
Papka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование ADO в Delphi
Ну можно попробовать SP написать для вставки записи. Побыстрее будет точно.
...
Рейтинг: 0 / 0
21.08.2003, 11:21
    #32242850
ADO
ADO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование ADO в Delphi
Попробуй ctOpenForwardOnly поставить
ставил, не помогает

проблем в чем:
Есть клиентской программа и db (парадоксный файл), есть сервер и на нем БД (MSSQL). Нужно запустить клиентскую программу выполнить при помощи АДОшных компонент проход по парадоксному файлу и одновременно (позаписьно) выполнять обновление данных, удаление строки в БД (MSSQL) или добавление, т.е. импорт данных. Причем, перед каждым Postом необходимо вычислять значения некоторых полей (иногда сумасшедшими способами – это условие ОБЯЗАТЕЛЬНО). Ранее, это все было реализовано на BDEшных компонентах и БД InterBase – все работало довольно быстро, теперь нужно все сделать на ADO и MSSQL. Как еще можно увеличить скорость закачки?
...
Рейтинг: 0 / 0
21.08.2003, 11:26
    #32242862
ADO
ADO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование ADO в Delphi
Ну можно попробовать SP написать для вставки записи. Побыстрее будет точно.

SP - это еще что за звэрь :-) ?
...
Рейтинг: 0 / 0
21.08.2003, 11:42
    #32242900
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование ADO в Delphi
проблем в чем:
Есть клиентской программа и db (парадоксный файл), есть сервер и на нем БД (MSSQL). Нужно запустить клиентскую программу выполнить при помощи АДОшных компонент проход по парадоксному файлу и одновременно (позаписьно) выполнять обновление данных, удаление строки в БД (MSSQL) или добавление, т.е. импорт данных. Причем, перед каждым Postом необходимо вычислять значения некоторых полей (иногда сумасшедшими способами – это условие ОБЯЗАТЕЛЬНО). Ранее, это все было реализовано на BDEшных компонентах и БД InterBase – все работало довольно быстро, теперь нужно все сделать на ADO и MSSQL. Как еще можно увеличить скорость закачки?


Я бы все-таки сделал так. Средствами импорта закачал бы все таблицу dbf в промежуточную таблицу на сиквеле. И написал уже предложенную выше SP (хранимую процедуру). Которой бы собственно и проводил все сумашедшие вычисления и закачивал данные в нужную таблицу. Если конечно все эти сумашедшие вычисления нельзя сделать с помощью DTS.
...
Рейтинг: 0 / 0
21.08.2003, 11:58
    #32242947
Papka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование ADO в Delphi
Угу
...
Рейтинг: 0 / 0
22.08.2003, 12:11
    #32244422
ADO
ADO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование ADO в Delphi
Понятно... :-( Будем искать

Всем кто ответил огромное СПАСИБО!!!
...
Рейтинг: 0 / 0
22.08.2003, 16:00
    #32244955
ADO
ADO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование ADO в Delphi
После некоторых тестов пришел к выводу, что тормозит работа ADO именно с парадоксной таблицей. Поэтому создал новую тему: "Работа с парадокс через ADO компоненты". Предлагаю продолжить обсуждение там.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / использование ADO в Delphi / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]