Главная страница
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.02 c
2-1135185385
Новенькая
2005-12-21 20:16
2006.01.08
Динамический массив


14-1134623082
begin...end
2005-12-15 08:04
2006.01.08
С Днём рождения! 15 декабря


2-1135076341
Andron.Ru
2005-12-20 13:59
2006.01.08
помогите с Файлами!


2-1134732601
Kot
2005-12-16 14:30
2006.01.08
Работа с cxSpreadSheet.


2-1134977546
oleg777
2005-12-19 10:32
2006.01.08
Регистрация в MSSQL Server 2000