Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Хранение XML в БД InterBase


Автор: rikoua 23.5.2009, 12:14
Вобщем такая проблема ...  

Есть хмл файл (структуру не знаем). Как реализовать сохранение данных что хранятся в этом файле в БД InterBase, с последующей обработкой этих данных (создания запросов к БД)? 

Желательно налядный пример !

Автор: Akella 23.5.2009, 12:41
Цитата(rikoua @  23.5.2009,  12:14 Найти цитируемый пост)
Как реализовать сохранение данных что хранятся в этом файле в БД InterBase

а можно по-русски?

Автор: rikoua 23.5.2009, 13:03
Цитата

а можно по-русски? 


В БД нужно сохранить все что есть в файле хмл ... что бы потом с помощью запросов выбирать инфу. Типа импорта данных с хмл в БД ! 

Автор: Akella 23.5.2009, 18:38
Цитата(rikoua @  23.5.2009,  13:03 Найти цитируемый пост)
В БД нужно сохранить все что есть в файле хмл

создай блоб, подтип - текс, и сохраняй полностью весь xml-файл как он есть

Добавлено через 50 секунд
Цитата(rikoua @  23.5.2009,  13:03 Найти цитируемый пост)
Типа импорта данных с хмл в БД !  

Так тебе нужно просто импортировать данные из xml в разные поля таблицы? Или что?

Автор: rikoua 23.5.2009, 19:29
Да в разные поля таблицы ... Чёто можешь подсказать !

Автор: Akella 23.5.2009, 19:32
Чётко нужно с самого начала писать то, что требуется smile

Добавлено через 2 минуты и 27 секунд
Я думаю, что firebird тут не при чём. Ты ведь будешь импортировать не средствами СУБД, а средствами языка программирования, как то дельфи, си++, джава, си шарп... Вот!
Тем более, пока ты не знаешь какой структуры сам xml файл, о чём можно говорить?
Ну и напоследок. Нужно изучать формат данных xml и работу с xml.

Автор: rikoua 23.5.2009, 23:33
Тоесть готовых решений не видали ?

Автор: Akella 24.5.2009, 10:26
Цитата(Akella @  23.5.2009,  19:32 Найти цитируемый пост)
Ты ведь будешь импортировать не средствами СУБД, а средствами языка программирования, как то дельфи, си++, джава, си шарп

Каких? Сразу на всех языках?

Автор: rikoua 24.5.2009, 10:30
На делфи ...  smile 

Автор: Akella 24.5.2009, 10:38
блин

Автор: rikoua 24.5.2009, 10:54
чё блин ?

Автор: former 24.5.2009, 18:10
rikoua, делай парсинг xml и заполняй БД. Компонентов для работы с xml достаточно.

Автор: Akella 25.5.2009, 09:39
Цитата(rikoua @  24.5.2009,  10:54 Найти цитируемый пост)
чё блин ? 


Цитата(Akella @  23.5.2009,  19:32 Найти цитируемый пост)
Я думаю, что firebird тут не при чём. Ты ведь будешь импортировать не средствами СУБД, а средствами языка программирования, как то дельфи, си++, джава, си шарп... Вот!


Цитата(Akella @  23.5.2009,  19:32 Найти цитируемый пост)
Тем более, пока ты не знаешь какой структуры сам xml файл, о чём можно говорить?
Ну и напоследок. Нужно изучать формат данных xml и работу с xml. 


Автор: Frees 25.5.2009, 09:52
имеется в виду что взять xml проанализировать его структуру
под эту структуру создать метаданные в Fb и потом заполнить ее данными из xml??

помоему fb тут лишнее звено

Автор: Akella 25.5.2009, 10:05
Почему лишнее?

Автор: Frees 25.5.2009, 10:23
Цитата(Akella @  25.5.2009,  12:05 Найти цитируемый пост)
Почему лишнее?

может и не лишнее что за задача не ясно зачем нужно именно в бд сложить не сказано 

можено еще придумать базу из пары тройки таблиц для хранения xml любой структуры

примерно так

Ноды:
  ИД_нода
  ИД_родителя //Ссылка на родительский нод
  Имя_нода

Параметры
  ИД_параметра
  ИД_нода//Каому ноду пренадлежит параметр
  Имя // имя параметра
  Значение //Значение параметра

Контент // содержимое внутри тега (без вложеных тегов)
  ИД_нода
  Контент

Автор: Akella 25.5.2009, 10:28
Ну, допустим, что есть база данных сотрудников. Приходит файл xml со списком и характеристиками сотрудников. Нужно импортировать в свою базу. Может есть база по недвижимости, да примеров масса.

Автор: Frees 25.5.2009, 10:34
Цитата(Akella @  25.5.2009,  12:28 Найти цитируемый пост)
Ну, допустим, что есть база данных сотрудников. Приходит файл xml со списком и характеристиками сотрудников. Нужно импортировать в свою базу. Может есть база по недвижимости, да примеров масса.

это уже ипорт из XML

как я понял вопрос нужно хранить xml любой структуры в бд без потери данных

rikoua, афтор чего ты хочеш?

Автор: Akella 25.5.2009, 11:01
нет, нужно импортировать данные из xml в базу
Цитата(Akella @  23.5.2009,  18:38 Найти цитируемый пост)
Так тебе нужно просто импортировать данные из xml в разные поля таблицы? Или что?



Цитата(rikoua @  23.5.2009,  19:29 Найти цитируемый пост)
Да в разные поля таблицы .



Кстати, есть компоненты типа Advanced Data Import и Advanced Data Export

Автор: former 25.5.2009, 21:03
Можетя и ошибаюсь, но, на сколько я понял, нужно из имеющегося xml файла неизвестной структуры создать таблицу (группу связанных таблиц) и импортировать в нее/них данные.

Frees, без парсинга тут все равно не обойтись. Тогда основная задача будет сведена к работе с деревьями данных в xml и интерпретацию их в DDL запросы. Ну и импорт в последствии.

Автор: Deniz 26.5.2009, 05:43
Цитата(former @  26.5.2009,  00:03 Найти цитируемый пост)
Тогда основная задача будет сведена к работе с деревьями данных в xml и интерпретацию их в DDL запросы.
все таки предложение 
Цитата(Frees @  25.5.2009,  13:23 Найти цитируемый пост)
можено еще придумать базу из пары тройки таблиц для хранения xml любой структуры
мне кажется более правильным.
В IB было ограничение(255) на кол-во изменений структуры(ALTER) в таблице, после которого нужно делать backup/restore.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)