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

Вниз

Заполнение таблицы БД данными из файла (csv / xls / txt ...)   Найти похожие ветки 

 
Ольга   (2005-11-13 15:18) [0]

Каким способом это лучше делать (программно). Лучше - это чтобы железно работало у любого клиента. Скорость не волнует, т.к. данных немного.
Я вижу пока 2 способа:
1. Считать в StringList данные из файла, разобрать поля, сделать insert
2. Использовать BULK INSERT. Но это, на сколько я понимаю, требует хранения файла с данными в директории, доступной серверу БД, о чем клиент, как правило, не в курсе.
Есть еще варианты?


 
Shaman_ ©   (2005-11-13 16:11) [1]

У себя в базе, для универсального импорта данных писал модуль на 1,5K строк кода %), который приводит с помощью скриптов данные к единой структуре и размещает в TClientDataSet. Из TClientDataSet уже в базу данных с помощью Insert - в общем что то вроде способа №1


 
tesseract ©   (2005-11-13 17:41) [2]

На фиг тебе stringList ?
Считываешь данные в память (если по мещаются). Дальше небольшими транзакциями на сервер. Я так из 1c  в MYSQL данные о товарах людям делал.


 
КиТаЯц ©   (2005-11-14 08:34) [3]

Если есть гарантия, что данные правильно структурированы - [2]
Если требуют предварительной обработки - [0] (через StringGrid)


 
Anatoly Podgoretsky ©   (2005-11-14 08:50) [4]

КиТаЯц ©   (14.11.05 08:34) [3]

Если требуют предварительной обработки - то все равно [2]

Ольга   (13.11.05 15:18)  
Если смотреть широко и универсально, например не доступна серверная сторона, то текстовый файл, построчное считываение, разборка строки и запись запросом.
Для xls конечно другие методы, это же не текст, там достаточно будет использовать методы сом (ole) сервера.


 
КиТаЯц ©   (2005-11-14 10:01) [5]


> Anatoly Podgoretsky ©   (14.11.05 08:50) [4]

Спорить с авторитетом, конечно же, не буду. ;)
Хотя придерживаюсь мнения "смотря какой обработки". (Вдруг рукопашная правка данных может потребоваться?).

зы. Выполнял сходную задачу. Поставленную условие "чтобы железно работало у любого клиента. Скорость не волнует" выполнил.



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
2-1134912561
Мадик777
2005-12-18 16:29
2006.01.08
Опять SQL


2-1135201319
Mischa_M
2005-12-22 00:41
2006.01.08
ProgressBar


1-1133976207
De1uxe
2005-12-07 20:23
2006.01.08
Ошибка в коде


2-1134833592
dude
2005-12-17 18:33
2006.01.08
что в Delphi называется словом ?


2-1135003854
Majesto
2005-12-19 17:50
2006.01.08
Вопрос по SQL. Работа с несколькими таблицами.