Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
7-1080823680
alex1
2004-04-01 16:48
2004.05.16
Послать сообщение другому приложению


3-1082450272
@Ujin
2004-04-20 12:37
2004.05.16
Синхронизация баз данных...


14-1082641309
Digitman
2004-04-22 17:41
2004.05.16
Конструктивный же диалог ? Или - нет ? в тему LMD ... или НЕ LMD


3-1082142426
Kein
2004-04-16 23:07
2004.05.16
Помогите разобраться с InterBase ом


1-1082530762
Смертник
2004-04-21 10:59
2004.05.16
Помогите пожалуйста с DLL





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