Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
3-51651
cypher
2002-11-27 00:17
2002.12.16
BDE-ODBC


1-51704
chubr
2002-12-05 21:48
2002.12.16
Буфер обмена.


1-51702
perov
2002-12-05 07:49
2002.12.16
Создание компонетов


6-51863
Romych
2002-10-21 09:18
2002.12.16
Почему, такая разница в быстродействии?


7-51977
isc
2002-10-15 22:50
2002.12.16
Вопрос для профессионалов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский