Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

запись select-а в XML файл [D7]


Страницы:   1 2 3

Анна ©   (2008-01-25 12:33:00) 

Здравствуйте, мастера!
Можно ли в Delphi результаты select-a записать в файл XML? Чтобы дальше использовать файлы XML, как таблицы БД, делая к ним запросы, вставляя в них новые данные и удаляя неверные. И все это средствами Delphi. Если "да", то какие компоненты надо использовать?  
Сделала в QA:
select id_prod,red_prod  from fish_prod where id_prod in (1,2) for xml auto,elements
Записала рез-т в файл на жесткий диск .XML. Попробовала открыть его в интернет эксплор, выдает ошибку:
В текстовом комментарии обнаружен недопустимый знак. Ошибка при обработке ресурса ''file:///D:/tttt.XML''.
Прочитала в статье, что для корректной записи XML файла надо :
select id_prod,red_prod  from fish_prod where id_prod in (1,2) for xml   EXPLICIT
Но не знаю как в Delphi записать XML файлы.
Дайте пож ссылку, чтобы прочитать, если такая технология (работа с данными через XML файлы) возможна. И Ваше мнение.


Kolan   (2008-01-29 15:18:00) [21]

> было както прислали базу целиком в одном XML — 2 гб.)

Даже ветка была вроде.


> Что Вы можете посоветовать в качестве БД для удаленных клиентов,
> у которых слабые компьютеры и которые не смогут ничего
> инсталировать (СУБД).

Есть еще BlackFish


DiamondShark   (2008-01-29 15:17:00) [22]


> access НАДО инсталлировать!

Всё надо инсталлировать.
Просто кое-что надо инсталлировать потом и руками, а кое что инсталлируется вместе с системой, как, например, ядро Jet, OLE-DB провайдеры для баз акцеса и библиотеки объектов ADO.


homm   (2008-01-29 15:12:00) [23]

> [33] DiamondShark ©   (29.01.08 15:09)
> access

access НАДО инсталлировать!


DiamondShark   (2008-01-29 15:09:00) [24]


> Анна   (28.01.08 09:49) [15]
>
> Что Вы можете посоветовать в качестве БД для удаленных клиентов,
>  у которых слабые компьютеры и которые не смогут ничего
> инсталировать (СУБД).

access


homm   (2008-01-29 15:06:00) [25]

> [31] Анна   (29.01.08 15:00)
> А задача такая: клиентов около 150, у всех разные ПК, разные
> Window-s,

Но почему то ты уверена, что у каждого стоит недешевый пакет Microsoft Office, ага?


> Правильно ли я поняла, что чтобы работать с ним нужно присоединить
> в свой проект только один .DLL файл?

Емлить… ДА!!!!Тебе это 100 раз написали.


Анна   (2008-01-29 15:00:00) [26]


> sniknik ©   (29.01.08 12:53) [29]

Спасибо большое, поставила Yes - все запросы к Excel проходят.
> следующим наверное будет парадокс


парадокса не будет :-) И DBF - файлы очевидно тоже нет, т.к. гл. специалист почему-то категорически против. А мне они нравятся.
А задача такая: клиентов около 150, у всех разные ПК, разные Window-s, никакого опыта (и желания) в сопровождении и поддержки БД, поэтому нужно чтобы был всего лишь один файл .exe и, например,  один файл Exсel - содержащий на n-листах n таблиц.
читала про SQLite. Правильно ли я поняла, что чтобы работать с ним нужно присоединить в свой проект только один .DLL файл?
Да, еще. Клиентам нужно разослать по электронной почте .exe , т.е. никаких выездов к ним для установки СУБД и пр.


Галинка   (2008-01-29 13:29:00) [27]

если уж эксель, то может лучше акцесс? Или его в лицензии офиса нет?


sniknik   (2008-01-29 12:53:00) [28]

> HDR=NO
параметр убирает заголовки, т.е. значение первой строки не будет восприниматься как название поля, и тем не менее
> where [ id_ops]
обращение идет по имени... которого нет (сам поставил), а все чего нет jet может воспринять параметром (если оно в нужном месте. аксесс в этом случае делает запрос значения для параметра и подставляет), вот тебе и ошибка (ты его подставляешь?...).

но, это все ерунда, можно не обращать внимания, главное - вместилище для базы опять выбрано не удачно (впечатление такое что у тебя есть список наименее подходящих для баз форматов и ты идешь по списку... следующим наверное будет парадокс ;о)).


homm   (2008-01-29 12:16:00) [29]

> [27] Анна   (29.01.08 12:12)
> Решила попробовать использовать Ecxel как БД.

Застрелиться…
Тебе всю етку о чем говорили? Что текстовой базы данных нормально й нет и быть не может, ты выбрала мыло вместо шила. Удачи.


Анна   (2008-01-29 12:12:00) [30]

Спасибо большое за ответы.
Решила попробовать использовать Ecxel как БД. В Enterprise Manager сделала экспорт данных части таблицы в файл Excel (aa.xls) Далее в программе написала:
ADOConnection2.ConnectionString:=Format('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Extended Properties="Excel 8.0;HDR=NO"',['D:\Select_IZ_EXCEL\aa.xls']);
ADOConnection2.Open;
ADODataSet2.Connection := ADOConnection2;
ADODataSet2.CommandText :=
     'SELECT * FROM [Results$]'#10 +
     'where [id_ops]=22160  order by 1';
ADODataSet2.Open;
ругается :"Параметр [id_ops] не имеет значения по умолчанию".
если пишу запрос без условия Where тот все выполняется. Если пишу where 1=1 то тоже все проходит.
Как грамотно написать условие Where?


Ega23   (2008-01-28 13:03:00) [31]

sedna есть. Опенсорсная даже, вроде. На базе XML. Как я понял, один из побочных продуктов С.Д.Кузнецова (по крайней мере, на КБД он очень активно про неё рассказывал, я так понял, что он там типа куратора...)


ketmar   (2008-01-28 12:30:00) [32]

>[24] palva©(28.01.08 12:26)
да они-то есть. только конфликтуют с требованием «слабые машины». %-)


palva   (2008-01-28 12:26:00) [33]

Имеются XML-серверы.
http://www.bytemag.ru/?ID=601790
С Tamino я возился около полугода в одной конторе. Но давно уволился оттуда. А теперь смотрю на сайт разработчиков
http://www1.softwareag.com/de/products/default.asp
и вижу, что Tamino из списка продуктов исчез. Наверно прикрыли этот проект. Или может пополнили XML-функциональностью ADABAS.
Имеются другие варианты XML-серверов. В интернете несложно найти информацию. Но, наверняка, сырые либо очень дорогие, как Tamino.


ketmar   (2008-01-28 11:26:00) [34]

>[21] Плохиш ©(28.01.08 11:11)
>Во-во, он для этого и задумывался…

но как всегда ничего не вышло. %-)


ketmar   (2008-01-28 11:24:00) [35]

>[18] Анна (28.01.08 10:04)
если не надо сетевых наворотов и не особо пугает написание своего dataset/работа с базой «ручками» — SQLite вполне удобен. лицензиями не прикрыт, занимает мало, работает быстро, всех файлов — одна DLL. FireBird Embedded чуть сложнее.


Плохиш   (2008-01-28 11:11:00) [36]


> если хочеш совета - откажись от XML в качестве базы. максимум
> на что он способен это передать данные из одного места в
> другое


Во-во, он для этого и задумывался...


megabyte   (2008-01-28 10:53:00) [37]

XML удобен только как промежуточный формат между различными источниками, но не как замена СУБД!
Юзай Firebird.


Ega23   (2008-01-28 10:09:00) [38]


> Про такие требования я не знала. Спасибо.


Дык в XML всё хранится в текстовомвиде!


Анна   (2008-01-28 10:04:00) [39]


> ketmar ©   (28.01.08 09:54) [17]

Про такие требования я не знала. Спасибо.
Читаю про SQLite.


ketmar   (2008-01-28 09:54:00) [40]

хм. мне вот интересно, как стыкуются «слабые компьютеры» и «база в XML». для последнего надо комбайны с кородубами и гигами оперативки…


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо