Форум: "Базы";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизНаучите работать с XML как с SQL? Если такое возможно? Найти похожие ветки
← →
Layner © (2004-04-16 14:23) [0]Т.е. я сейчас парсирую XML файлы на уровне текста {:(} А возможно ли задать запрос, и он вытащит данные в виде таблицы на DBGrid, как ADO Query например возвращает в DBGrid результат выборки.
← →
Delirium © (2004-04-16 15:37) [1]О каком именно XML речь ?
← →
Соловьев © (2004-04-16 15:43) [2]TCustomClientDataSet.LoadFromFile
← →
Sergey_Masloff (2004-04-16 16:16) [3]xpath не то?
← →
Ломброзо © (2004-04-16 23:23) [4]Microsoft OLE DB Simple Provider. Позволяет работать с XML как с таблицей и выполнять простенькие SQL (не XPath) запросы, если в качетсве источника данных ему указать XML-файл. Я с ним не работал, так, поигрался чуть-чуть... Инсерты он делать не позволяет, апдейты - точно не скажу.
Подробности в MSDN.
← →
Layner © (2004-04-20 15:03) [5]Ломброзо
Подскажи, плз, как подконектится к файлу, с помощью Microsoft OLE DB Simple Provider?
Далаю UDL файл, с выбором Microsoft OLE DB Simple Provider, в DataSourse пишу название файла, тест... и никак..
← →
Ломброзо © (2004-04-20 15:06) [6]Завалялся у меня сохранённый топик с RSDN:
А>Здравствуйте, Andrey Makarov aka Zig, Вы писали:
AMA>>Здравствуйте, Аноним, Вы писали:
А>>>Требуется:
А>>>Иметь возможность дублировать несколько таблиц в XML формат (в разделе INI- файла думается)
А>>>При отсутствии доступа к СУБД считывать информацию, необходимую для работы программы с XML - из файла.
А>>>Иметь по возможности одинаковый доступ как к СУБД так и к XML - в смысле вычитавать информацию select-ами.
AMA>>с селектами не получится, у XMLя нет такого функционала. это не СУБД - это всего лишь язык разметки
А>>>Подскажите кто чем может, что применять, с XML никогда не работал, имею только представление
AMA>>рекомендую представление заменить на знания, а потом уже пытаться пристроить технологию в жизнь
А>>>Т.е. сейчас программа читает данные с СУБД, производит некие действия и пишет результат в базу. Хочется иметь возможность работы при временой недоступности СУБД. Т.е. результат при отстутствии СУБД будет скидываться в буферный файл, при появлении перекидываться в базу.
А>>>При отсутствии СУБД нормативная информация будет читаться с XML.
AMA>>в целом, система реализуема, схема вполне жизнеспособна
А>Сделано: (код упрощен)
А>TESTHR(CnAdoPtrReadMod.CreateInstance(__uuidof(Connection)));
А>TESTHR(rs.CreateInstance(__uuidof(Recordset)));
А>CnAdoPtrReadMod->Open(ConnectStr,""/*strMissing*/, "", adConnectUnspecified);
rs->>CursorType = adOpenKeyset;
rs->>LockType = adLockOptimistic;
А>CnAdoPtrReadMod->CommandTimeout= ConTimeOut;
rs->>Open(Cmd,_variant_t((IDispatch *)CnAdoPtrReadMod,true),/*adOpenKeyset*/adOpenForwardOnly,adLockOptimistic,adCmdText);
rs->>Save("c:\\Modulesdata.xml",adPersistXML); //Вот тут записали xml
А>//Если у субд не подключились, читаем recordset так:
А>//
А>CnAdoPtrReadMod->Open("Provider=MSDAOSP; Data Source=MSXML2.DSOControl.2.6;",""/*strMissing*/, "", adConnectUnspecified);
rs->>Open("c:\\Modulesdata.xml",_variant_t((IDispatch *)CnAdoPtrReadMod,true),adOpenForwardOnly,adLockOptimistic,adPersistXML);
А>//до сюда все ок, но при поытке выбирать из рекорсета - фигу
А>while(!rs->EndOfFile){
А> Id = (short)rs->Fields->GetItem((short)0)->Value;
А>...
А>}
А>я хочу, чтобы код выборки данных был один и тот же при чтении и из xml и из СУБД
А>Я на правильном пути? Может быть что то не так с флагами открытия?
А>Я так понимаю слепок recorset сделанный из субд и открытый из xml будут идентичны при проходе по recordset ?
А>Подскажите, где промах или идейные заблуждения
MSDN в общем как всегда RTFM
rs->Open("c:\\Modulesdata.xml","Provider=MSPersist;",adOpenForwardOnly,adLockOptimistic,adCmdFile);
В Delphi подключаться через TADOQuery я не пробовал, в VB через AdoControl + VideoSoft Flex Grid - работает.
← →
Layner © (2004-04-20 15:12) [7]Может SimpleDataSet1, вроде что то позволяет делать с XML.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.036 c