|
|
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток, коллеги! Столкнулся с проблемой, которая связана с некоторым непониманием и нехваткой знаний, буду очень признателен за помощь. Необходимо спарсить множество XML в БД на PG Код такой процедуры: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Структура таблицы: Код: 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. Собственно сама ошибка: MainTableQuery: Parametr 'maintable.fullname' not found Понятно, что не найден, где я что пропустил или что сделал не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 17:35 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
В предложении INSERT параметр у вас - НаимЮЛПолн. Не знаю, как параметры оформляются в Postgress, может быть, и так можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 19:01 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
Все-таки вряд ли так можно. Используйте :НаимЮЛПолн или ?, коллега. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 19:15 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
И я бы по древней привычке воздержался от русских букв. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 19:20 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
shalamyansky Все-таки вряд ли так можно. Используйте :НаимЮЛПолн или ?, коллега. Ошибка та же Кириллицу бы не использовал, если бы их не было в xml, которые сформированы таким образом что все узлы в них по русски. Может поля таблиц и узлы xml указал неверно, но как верно с соблюдением синтаксиса их указать? Привожу фрагмент 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 19:32 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
Причем тут узлы? Вы самостоятельно именуете параметр. Ваш код может выглядеть так: Код: pascal 1. 2. или так: Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 19:40 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
Кстати, черта с два вы таким образом получите значение атрибута СвЮЛ/СвНаимЮЛ/@НаимЮЛПолн. Или перебирайте узлы руками последовательно, или правильно пишите XPath пути, вот как у меня предложением выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 19:46 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
shalamyansky, Спасибо за подсказку, буду знать, но это вызвало другую ошибку Unknown Param.DataType 0 Похоже что-то я кроме этого не учел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 19:46 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
shalamyansky, На postgre я добился нужного результата так: Код: 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. Но как это сделать через delphi ума не приложу, хотя и понимаю, что все не так сложно должно быть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 19:54 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
Узнаю файлы ежедневных выписок ЕГРЮЛ. Если что, у меня есть полный их разборщик в объекты Delphi. Судя по аватару, вы представляете какую-то государственную контору. Если у вас есть какая полезная обновляемая информация вроде представленной, открытая и не очень, можем договориться о бартере, коллега. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 19:54 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
shalamyansky, пишите в личку, договоримся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 19:59 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
Eter2020 Unknown Param.DataType 0 Вы там у себя в коде пытаетесь засунуть в параметр список узлов, а надо засовывать строку. Я за вами так и скопировал, лень править было. Получите единичный узел, атрибут в данном случае, и возьмите его строковое значение. Но это уже самостоятельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 20:00 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
Eter2020 пишите в личку Не вижу такой возможности. У вас, похоже, не выставлено разрешение на это, поменяйте настройки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 20:07 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
shalamyansky, Теперь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 20:11 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
Не-а. Пишите на мой логин собака mail ru. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 20:14 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. Postgress умеет разбирать XML? Лихо. Зачем вам тогда Delphi для этой задачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 21:04 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
shalamyansky, Для решения иных прикладных задач ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 21:30 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
Если кому понадобится, решение нашел такое: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Не исключаю, что есть решение проще, но пока остановлюсь на этом Всем кто участвовал спасибо за помощь) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 22:49 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
demos\Object Pascal\Database\FireDAC\Samples\AddOn\VSE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 23:23 |
|
||
|
PostgreSQL+XML
|
|||
|---|---|---|---|
|
#18+
1) SQL.Clear - излишняя при использовании SQL.Text; кроме того, корректный способ выполнять модифицирующие запросы - это ExecSQL (еще и более экономный, т.к. не открывается курсор для НД) 2) Советую разделить выбор файла и собственно загрузку в базу 3) ParamByName('НаимЮЛПолн') - исключительно внутреннее значение, лучше писать латиницей от греха подальше. Проблемы с кодировкой могут возникнуть спонтанно и больно ударить 4) Если движок поддерживает, for-in может быть удобнее 5) XPath - это правильный способ для подобных вещей (если он поддерживается движком, конечно). Правда, простейшую реализацию можно сделать и свою (только вложенные элементы и атрибуты). Код: pascal 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2020, 15:39 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39971061&tid=2038175]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
204ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
79ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 570ms |

| 0 / 0 |
