Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
XML в ASA 9?
|
|||
|---|---|---|---|
|
#18+
Ни разу еще не пользовал XML, только пытался играться и читал доки. Понял, что можно результат выборки представить в виде XML. Понял, что можно наоборот, сделать выборку из XML, в котором представлен набор записей. А можно ли решить следующую задачу средствами XML: организовать для таблицы некую возможность хранения произвольных значений и вытягивать их? Например создаем таблицу с двумя полями: id и XML. В XML запихиваем значения для псевдо-полей field1...fieldN. Хочется иметь возможность менять их и селектить. Такое реализуемо? Куда смотреть? Естественно, вопрос про реализацию этого на серверной стороне, а не парсингом на клиенте. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2005, 17:49 |
|
||
|
XML в ASA 9?
|
|||
|---|---|---|---|
|
#18+
Да, запросто именно для таких игр и существует серверная функция OpenXML. У меня уже больше года работает такая система: франчайзы генерируют на своих базах отчеты. Отчет в виде xml присылается в мою базу, и так же в виде xml и хранятся. А я уже на основе этих отчетов делаю свои собственные отчеты. Отчет кладется в поле RepData таблички: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Вот пример xml: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. А потом офисная клиентская программа на основе клиентских желаний (по датам, по кодам франчайзов и тд) выбирает UID'ы нужных отчетов, записывает их во временную глобальную таблицу и несколько раз запускает хранимую процедуру: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2005, 18:13 |
|
||
|
XML в ASA 9?
|
|||
|---|---|---|---|
|
#18+
Спасибо за пример, но подобное я уже в хелпах видел - хранение в поле по сути выборки. Мне бы что-нибудь попроще и более плоское. Например делаю таблицу: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. И еще вопрос про LATERAL, который я до этого тоже ни разу не использовал. Как с ним сделать что-то типа LEFT JOIN и т.п. Поясню что я хочу. Добавим еще записи: Код: plaintext 1. 2. 3. 4. 5. 6. P.S. Не все же время мне на чужие вопросы отвечать, побуду немного чайником ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 13:43 |
|
||
|
XML в ASA 9?
|
|||
|---|---|---|---|
|
#18+
Видать, слишком чайниковские вопросы я задаю :) Продолжим изыскания. Решил я сделать функцию для удобства извлечения значений из XML: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Если прописать там константу Код: plaintext 1. И как быть тогда? Строить запрос динамически не очень хочется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 16:14 |
|
||
|
XML в ASA 9?
|
|||
|---|---|---|---|
|
#18+
Александр ГoлдунКак проще всего организовать UPDATE этих псевдо-полей? По моему, там обновления не предусмотренно вообще :) На практике мне ни разу этого и не потребовалось. XML-данные приходят из какой-то сторонней базы до которой у меня в принципе не может быть доступа и я делаю только агрегирующие или простые выборки по ним. Но в приниципе, можно внешнему селекту приписать ключевое слово FOR XML, результат селекта превратится в набор XML строк, склеиваем эти строки в один блоб и отправляем обратно в таблицу откуда брали данные :) Не особо просто и легко, но работать будет. Александр ГoлдунВышеприведенный select отберет только первые две записи, а записи 3 и 4 туда не попадут. Хочу чтоб попали. На третей и четвертой записях у тебя OpenXML не может открыть xml. На третьей записи вообще нечего открывать, а на четвертой оно не может найти ветку '/product' на нулевом уровне. А вот почему оно работает как inner join я так и не понимаю до сих пор :( Александр ГoлдунНо мне то константа как раз и не нужна, а нужен параметр. Тоже не знаю. В BOL вроде запрета на переменные явно нету, но мне тоже не удалось использовать ничего кроме констант :( Кстати, обрати внимание что все пути и имена полей в OpenXML чувствительны к регистру даже если вся база регистро-нечувствительна! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 18:54 |
|
||
|
XML в ASA 9?
|
|||
|---|---|---|---|
|
#18+
White Owl Но в приниципе, можно внешнему селекту приписать ключевое слово FOR XML, результат селекта превратится в набор XML строк, склеиваем эти строки в один блоб и отправляем обратно в таблицу откуда брали данные :) Не особо просто и легко, но работать будет. Похоже, на клиенте это проще сделать. Например в Delphi каким-нибудь TXMLDocument White Owl Александр ГoлдунНо мне то константа как раз и не нужна, а нужен параметр. Тоже не знаю. В BOL вроде запрета на переменные явно нету, но мне тоже не удалось использовать ничего кроме констант Я смог обойти это по другому. Оказывается можно вместо конструкции: Код: plaintext 1. 2. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2005, 19:28 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=33348514&tid=2013294]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 255ms |
| total: | 407ms |

| 0 / 0 |
