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

Вниз

Заполнение таблицы БД данными из файла (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.009 c
2-1135153839
nirvana
2005-12-21 11:30
2006.01.08
Защита базы данных


2-1135062553
Vf
2005-12-20 10:09
2006.01.08
график


8-1122551843
BFG9k
2005-07-28 15:57
2006.01.08
Масштабирование роликом мыши


1-1133872723
Некто Аполло
2005-12-06 15:38
2006.01.08
Version Info для DLL


4-1130767725
RomeoGolf
2005-10-31 17:08
2006.01.08
Свернуть дочернее окно в панель задач





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский