Главная страница
    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.031 c
3-1082376634
}|{yk
2004-04-19 16:10
2004.05.16
Cannot transliterate


14-1082633593
gn
2004-04-22 15:33
2004.05.16
Установлен новый рекорд скорости передачи данных в интернете


3-1082110270
Alex_Pol
2004-04-16 14:11
2004.05.16
Запуск сервера InterBase


1-1083352125
mr.Delphin
2004-04-30 23:08
2004.05.16
ФОКУС


11-1069691640
Phantom
2003-11-24 19:34
2004.05.16
Динамически создать пункты Popup-меню





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