|
|
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Столкнулся с проблемой, надо выгрузить результаты запроса в файл в формате XML. Смущает что пакетов несколько, про количество функций молчу, опыта подобных выгрузок 0,00%, не очень понятно где копать. Был бы благодарен если направите на путь истинный как это сделать проще и посовременние. Oracle 12, имеются на руках примеры файлов XML которые должны получиться, а также схема файла для выгрузки в формате XSD. Есть ли возможность чтобы при запросе указать такой вот XSD (ну выдрав предварительно его структуру и исполоьзвать его содержимое как входной параметр, запрос еще одним параметром) на выходе получить такой вот правильный XML. Если кинете ссылку на пример буду благодарен особенно Заранее спасибо P.S.Доброго дня и с наступившим НГ :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2019, 11:05 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
RTFM XML DB Developer Guide ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2019, 13:46 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Elic, а немножко более развернуто можно, в какой части по Вашему мнению искать ответы ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2019, 15:56 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
createSchemaBasedXML SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2019, 16:48 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Из того что прочел , у меня создалось впечатление что XSD будет использован только для проверки - по формату/не по формату сгенерированный файл, но для механизма собственно генерации это не поможет . Это так ? У меня файл XML будет несколько уровней, то есть если я правильно понял по доыольно скудным примерам для DBMS_XMLGEN надо будет соответствующие типы создать.. Все-таки хотелось бы ясности, смотреть в сторону DBMS_XMLGEN.getxml или все же можно XSD для ГЕНЕРАЦИИ облегчить реализации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2019, 17:49 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Пример сгенерированного XML каким он должен быть Код: xml 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. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2019, 18:00 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
RTFM XML Functions (FAQ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2019, 18:13 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Dual_BiosИз того что прочел , у меня создалось впечатление что XSD будет использован только для проверки - по формату/не по формату сгенерированный файл, но для механизма собственно генерации это не поможет . Это так ?Ты не безнадёжен. Чудо-генератор сможет сосать данные из вакуума? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2019, 07:43 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Elic, данные-то я буду запросом доставать, я просто надеялся, что есть некий движок в который можно прописать соответствие XSD поля с полем в результаете запроса и который сам "отформатирует" включая вложенности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2019, 09:03 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Dual_Biosя просто надеялся, что есть некий движокЕсть: 21777382 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2019, 09:07 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
ElicDual_Biosя просто надеялся, что есть некий движокЕсть: 21777382 Или я совсем туплю или мы говорим о разном. Изначально я предполагал что есть некая функция Х, где входные параметры А- текст запроса, B-текст шаблона XSD. Или XSD где-то зарегстрирован и B параметр ссылается на него). И функция по этому скелету вернет готовый XML Вы даете мне ссылки , но эти функции как-то не укладываются у меня в какую-то единую конструкцию как бы это могло быть. Можете дать ссылку на ПРИМЕР что-то пусть очень отдаленного, но того что по Вашему мнению будет ориентиром КАК это надо сделать ? Чтобы какая-то общая картина нарисовалась в голове ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2019, 09:24 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Dual_Biosя предполагал что есть некая функция Х, где входные параметры А- текст запросаПредположи более приземлённо: как мог бы выглядеть запросDual_Biosвключая вложенности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2019, 09:29 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Dual_Bios, Попробуй посмотреть на xsl трансформации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2019, 10:17 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Elic, для начала мне надо понять базово, какой пакет и функция будет задействована. Из того что я нашел, я так понял что есть две основные альтернативы, или что то типа такого решения (ну понятно более насыщенного) Код: plsql 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. 35. 36. 37. 38. 39. 40. 41. 42. Или через dbms_xmlgen.getxml Пытаюсь понять по какой ветке пойти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2019, 10:38 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
ElicDual_Biosя предполагал что есть некая функция Х, где входные параметры А- текст запросаПредположи более приземлённо: как мог бы выглядеть запросDual_Biosвключая вложенности Ну или тупая плоская таблица , где левая часть тупо бы дублилась в рамках одного узла, если бы как-от можно было бы директинво указать что эти поля узлы, либо через cast(collect( c приведением к типам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2019, 10:46 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
MasterZivDual_Bios, Попробуй посмотреть на xsl трансформации Хм, посмотрел но пока вижу только взаимоотношения с готовый XML который у меня еще должен как-то получиться. А пока я еще для себя не понял каким способом его стоит получать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2019, 10:59 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Dual_BiosА пока я еще для себя не понял каким способом его стоит получать https://www.sql.ru/forum/actualsearch.aspx?search=xmlelement xmlagg&sin=0&bid=3&a=&ma=0&dt=-1&s=1&so=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2019, 11:17 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Dual_BiosХм, посмотрел но пока вижу только взаимоотношения с готовый XML который у меня еще должен как-то получиться. А пока я еще для себя не понял каким способом его стоит получать Запрос имеешь, ну так добавь агрегацию и используй XMLELEMENT + XMLAGG + (по вкусу) XMLSERIALIZE . Например запрос: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Добавляем агрегацию, XMLELEMENT, XMLAGG, XMLSERIALIZE: Код: plsql 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. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2019, 17:56 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
SY, если есть время и натхнення уровней больше одного (deptno, job, enpno)? напр Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2019, 19:34 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Код: plsql 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. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2019, 20:49 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
SY Код: plsql 1. За такие отступы надо отрывать руки. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2019, 07:34 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
SY, Спасибо, я так примерно и делал Надеялся что есть какой-то трюк ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2019, 09:34 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Прочитал, большое спасибо за примеры. Что напрягает меня в тернистом пути поиска правильного решения - большой объем выборки на основе которой будет строиться XML - порядка 1,5 миллионов строк данных в базовой таблице, к которой будет подтягиваться детализация раз в 5 больше... Раньше все это из запроса по порциям складировалось в CSV (делалось на толстом клиенте, там еще ряд постдействий не связанных с выгрузкой делался потому и на толстом) . Допустим здесь тоже порционно можно писать, а потом на трансформе это не умрет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2019, 11:10 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Dual_Biosбудет строиться XML - порядка 1,5 миллионов строк данных в базовой таблице, к которой будет подтягиваться детализация раз в 5 больше...Dual_Biosа потом на трансформе это не умрет ?Нужно задаться вопросом, а не поперхнётся ли следующий приёмник. Архитекторы всё больше дебилизируются… ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2019, 11:22 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Elic, таковы требования сторонней организации (монополиста), которой мы передаем файл с данными, читать-то наверно легче чем писать.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2019, 11:50 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Dual_Biosчитать-то наверно легче чем писать.. Обычно наоборот. А почему не хотите формировать XML на клиенте? Клиент получает с БД несколько датасетов и формирует из них нужный иерархический XML. Если клиент будет на Perl или Python, то под него есть множество библиотек, которые значительно упростят формирование сложного XML. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2019, 13:18 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Alibek B., авторКлиент получает с БД несколько датасетов Посмотрите объем... Да и имеющийся сейчас базовый стандартный движок предполагает полную обработку в оракле на сервере с конечным перекладыванием результатов на расшаренный ресурс. Включая работу в пакетном режиме - вечером запустил - к утру данные получил :) Нагружать неизвестный характеристиками клиентский комп было бы странно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2019, 14:45 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Dual_BiosПосмотрите объем... В каком смысле? Я не предлагаю грузить на клиент сырые данные и полностью их обрабатывать там. Я предлагаю загружать на клиент уже обработанные данные, несколько датасетов, каждый из которых соответствует вложенным блокам XML. Да и необязательно их загружать целиком, обрабатывать и формировать XML нужно в поточном режиме, подгружая данные из БД по необходимости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2019, 14:56 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Dual_Biosчитать-то наверно легче чем писать..Заблуждаешься. XML - это текст, для формирования которого на PL/SQL достаточно TO_CHAR и оператора конкатенации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2019, 15:24 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Elic, в теории-то да, просто когда запрос усложняется, а объемы приличные... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2019, 17:07 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Alibek B., а чем это будет лучше стандартных решений оракла, обкатанных тысячами ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2019, 17:08 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Dual_Biosв теории-то да, просто когда запрос усложняется, а объемы приличные... Именно поэтому конкатенация будет в разы быстрее чем XMLELEMENT + XMLAGG. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2019, 17:29 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Dual_Biosа чем это будет лучше стандартных решений оракла, обкатанных тысячами ? Тем, что Oracle это реляционная БД, а XML это документная БД. И для формирования вложенных иерархических структур клиент может быть практичнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2019, 17:58 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
SYИменно поэтому конкатенация будет в разы быстрее чем XMLELEMENT + XMLAGG.Но только если клоб клеить правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2019, 18:55 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Alibek B.И для формирования вложенных иерархических структур клиент может быть практичнее.…, а она визжала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2019, 18:57 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Продолжаются эсгибиции и... Сформировал я xml, пытаюсь найти программу или ресурс чтобы проверить (пока нет возможно зарегить схему) И сообщается мне, что криво. Беру пример файла, который прикладывался к схеме. И там сообщает что криво. проверял через XMLPad и через https://webmaster.yandex.ru/tools/xml-validator/ начало XSD Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Начало XML - приложенного файла с примером Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. Ошибка : Недопустимое содержание было обнаружено, начиная с элемента "DateCreate". Строка: 2 Позиция: 14 <detail>Invalid content was found starting with element 'DateCreate'. One of '{DateCreate}' is expected.</detail> Что-то я делаю криво или xsd или файл кривой ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 15:19 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
во втором блоке < при копипасте забыл в начале второго блока ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 15:25 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 15:37 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Alibek B., не понял Вашу мысль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2019, 08:19 |
|
||
|
Вывод результатов запроса в XML по известной структуре
|
|||
|---|---|---|---|
|
#18+
Dual_Bios, Код: xml 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2019, 12:30 |
|
||
|
|

start [/forum/topic.php?all=1&fid=52&tid=1882951]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
151ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
86ms |
get tp. blocked users: |
2ms |
| others: | 196ms |
| total: | 485ms |

| 0 / 0 |
