Главная страница
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.017 c
14-1134652120
(CHALING 32)S K i N E R
2005-12-15 16:08
2006.01.08
Delphi 6 and Delphi 7


11-1116426061
Владимир Кладов
2005-05-18 18:21
2006.01.08
инициализация Color в MCK


14-1134378683
Andy BitOff
2005-12-12 12:11
2006.01.08
SendMessage в VBA(Excel), надо послать WM_COPYDATA


9-1122796427
Зм1й
2005-07-31 11:53
2006.01.08
Почему может не работать CallList?


2-1135177348
з. танька
2005-12-21 18:02
2006.01.08
отображение формул