Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.16;
Скачать: CL | DM;

Вниз

ADO+Access   Найти похожие ветки 

 
Vacula ©   (2002-11-27 19:26) [0]

Доброго времени суток!
Проблема следующая. Записываю из файла в массив TStringList данные. Затем через ADO заношу данные в базу Access. Данных - 32000 записи. Второй процесс длится около 8-10 минут. Как ускорить запись данных? Спаисбо, с уважением


 
sniknik ©   (2002-11-27 19:36) [1]

убрать промежуточный TStringList и заносить из файла сразу в Access.


 
Vacula ©   (2002-11-27 19:43) [2]

То есть, сделать какую нибудь промежуточную переменную и ей присваивать необходимые значения и ее подставить в параметры запроса? Но это тоже получается очень медленно. Я прямо из файла...??? Не знаю как, да и нужно делать предварительную обработку данных из файла для формирования соответствующих полей (Дата, Имя, Что и т.д.)... подскажите, что имеется в виду?
Спасибо


 
vacula ©   (2002-11-27 20:38) [3]

Огромная просьба, подскажите... Действительно очень важно. Может я как-то тупо объясняю проблему? Но уже не сплю 30 часов, с этим быстродействием сижу....


 
BlackTiger   (2002-11-27 21:22) [4]

Довольно странно... Ты уверен, что тормоза именно при записи, а не при разборе строк?
В любом случае:
1 Сделай TQuery
2 Преобразуй свой файлик в набор комманд типа (записей так по 1000 на запрос):
while not eof(f) do begin
//
// здесь читаешь и преобразуешь строку файла в массив значений,
// к примеру
//
Query1.SQL.Clear;
Query1.SQL.Add("INSERT INTO MyTable (Field1,Field2,Field3)");
Query1.SQL.Add("VALUES ");
Query1.SQL.Add("(");

//while {...} do begin
Query1.SQL.Add("(""A1"",""27.11.2002"",""50.56""),");
Query1.SQL.Add("(""A2"",""27.11.2002"",""34.00""),");
Query1.SQL.Add("(""A3"",""27.11.2002"",""50.23""),");
Query1.SQL.Add("(""A4"",""27.11.2002"",""12.78"")");
//end;
Query1.SQL.Add(")");
Query1.ExecSQL;
end;

Только вот уточни синтаксис многострочного INSERT-а. Не помню - надо записи разделять запятыми или нет.


 
alcat ©   (2002-11-27 22:38) [5]

Всем Здрасте!!!
BlackTiger, а не мог ли бы ты, пожалуйста, написать поточне синтаксис многострочного INSERTа.
А то от Кафя уже даже спать хочеться.
Хоть скажи где посмотреть.
Заранее благадарен!


 
vacula ©   (2002-11-28 01:21) [6]

2BlackTiger
Спасибо, буду разбираться
2alcat
http://www.citforum.ru/database/sql_kg/4-3-shtmlhttp://www.citforum.ru/database/sql/stsql_9.shtml
посмотри одним глазом, что здесь, но вряд ли это практически поможет... я тоже не могу найти точного описания синтаксиса


 
irenfd ©   (2002-11-28 04:39) [7]

А что если попробовать:
Format("INSERT INTO Table %s...%s и сразу подставлять строки из файла типа Readln(F)), только к сожалению теряется контроль над параметрами (кол-во полей, наличие и корректность)


 
alcat ©   (2002-11-28 15:56) [8]

2vacula Нет такого документа.....



Страницы: 1 вся ветка

Текущий архив: 2002.12.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
1-51771
^Sanya
2002-12-04 00:00
2002.12.16
Кто найдёт ошибку(ки) в этом коде?


1-51825
HP
2002-12-05 11:14
2002.12.16
FastReprt


1-51679
Alibaba
2002-12-04 18:47
2002.12.16
TShellListView


1-51800
dimich1978
2002-12-05 09:50
2002.12.16
Для тех кто юзает компанеты для создания инт. XP


14-51968
TTCustomDelphiMaster
2002-11-22 23:06
2002.12.16
Водка & Пиво