![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
запись select-а в XML файл [D7]
Анна © (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». для последнего надо комбайны с кородубами и гигами оперативки…