|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Ну вот потребовалось. Соответственно задача решена, поделюсь решением. Полная БД выгружается налоговой в двух форматах - DBF и XML. Но с DBF работать неудобно, да и таблицы там нарублены на кучу частей. В общем, сразу решено было использовать исходные данные в XML, тем более что MySQL имеет средства загрузки из них напрямую. Первым делом на основе XSD-схем данных были построены скрипты создания таблиц. Заодно выяснилось, что схемы даны не все, а их содержимое не всегда соответствует файлу с описанием формата выгрузки, размещённому на сайте ФИАС. Но задача несложная, работаем по факту. скрипты создания таблиц Код: sql 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. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257.
вспомогательные скриптыМогут потребоваться при обновлении, в текущей работе не использовались Код: sql 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.
В качестве движка выбран MyISAM - это ускоряет импорт. Также были отключены (в скриптах - закомментированы) ограничения и первичные индексы - с той же целью. Имея готовые структуры, несложно выполнить импорт данных. Первым делом имена XML-файлов для удобства работы были укорочены. Затем построены запросы импорта данных (исходные файлы были расположены по пути b:\fias). запросы импорта данных Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Импорт всех файлов, кроме самого большого, прошёл быстро и хорошо (большие файлы NORMDOC.XML и ADDROBJ.XML импортировались 2 и 4 минуты соответственно, все остальные практически мгновенно). А вот с самым большим, 16-гигабайтным HOUSE.XML возникла проблема. Сервер импортировал порядка четверти файла, после чего потребление памяти возрастало с исходных 450 Мбайт до 2 Гбайт и процесс обрывался по ошибке недостатка памяти. Было принято решение поделить файл на части и выполнить их импорт. Для нарезки было быстро накидано приложение на VB6, файл поделен на 9 частей по 1,8 Гбайт. Программа нарезки XML-файла. На форме размещены 2 кнопки с именами Start и Exit, и надпись с именем Protocol. Код модуля: Код: vbnet 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.
Процесс деления на часты выполнялся прямо из среды VB6Nano и продолжался порядка 20 минут. Затем полученные части были импортированы в базу. Скрипт импорта таблицы по частям Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Импорт прошёл без проблем, каждая часть импортировалась чуть больше 3 минут. Итоговый размер базы данных составил около 9 Гбайт. PS. При импорте было выявлено, что 4 записи таблицы NORMDOC.XML содержат некорректные относительно схемы данные (размер данных превышает размер поля). Но это мелочи... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 17:57 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Дополнительные сведения по среде выполнения. Весь процесс выполнялся локально на рабочей станции. Процессор Е2160 1,8 ГГц. Физической памяти 2 Гбайт. ОС Windows 7 Max SP1 Rus. Server version: 5.6.14-log MySQL Community Server (GPL). Все кодировки (сервера, БД и пр.) - UTF8. Все операции выполнялись непосредственно из UTF-8 консоли. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 18:19 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Полезно будет добавить следующее: Актуальную базу ФИАС в XML можно скачать тут: http://fias.nalog.ru/Public/DownloadPage.aspx Обновления, так же можно скачать там. Обновление нужно накладывать на готовую БД. Обновления необходимо проверять раз в сутки, чтобы не потерять актуальность данных. Дату последнго обновления можно получить так: http://fias.nalog.ru/Public/Downloads/Actual/VerDate.txt ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2016, 04:35 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Обновлю ссылку: http://fias.nalog.ru/Updates.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2016, 19:33 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Может программу для нарезки больших файлов сделать на DELPHI ?! Мне не удалось скомпилировать на VB... А я в свою очередь сделаю программу которая автоматом будет создавать/удалять структуру и заливать XML в базу! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 14:49 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
adminsamaraМожет программу для нарезки больших файлов сделать на DELPHI ?! Сделай, если не лень... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 15:27 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Akina, Я не знаю как нарезать XML... а остальное сделал ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 15:36 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
adminsamaraЯ не знаю как нарезать XML...В стартпосте есть "Программа нарезки XML-файла" на барсике. Там нет абсолютно ничего сложного, перевести её на дельфи - дело нескольких минут. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2016, 08:22 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
tanglir, тогда попрошу вышей помощи перевести =) я в свою очередь выложу свой проект, вдруг кому-то понадобиться =) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2016, 11:12 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
adminsamara, дельфи у меня под рукой нет, вот по памяти набросал, смотрите. Код: pascal 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2016, 13:19 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
tanglirТолько я что-то не пойму, откуда возьмётся открывающий тег <Houses> в следующих файлах-кусках. На первом "обороте" он сохраняется в переменной header, которая потом пишется во все куски. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2016, 14:08 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Хоть убейте, не могу скомпилировать и понять код.... Помогите с рабочей процедурой... Для всех хочу сделать программу =) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 14:02 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Не зря же тему прикрепили, хоть что-то полезное сделаю) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 14:04 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Добавление 1. Файлы в архиве выгрузки имеют длинные имена с GUID-идентификатором. Код же рассчитан на укороченные имена. Вот BAT-файл переименования: rename.bat Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Добавление 2. Программа проверена - работает корректно. Прикладываю архив с проектом и компилированным файлом. В поле источника можно заносить файл как с расширением, так и без него. Никаких проверок на предмет сбоев файловых операций (в т.ч. и на свободное место) не делал - лень. Константы размера блока чтения и количества записей на одну часть взял практически с потолка, кому не влом - можно править, не вылетая за ограничения среды исполнения. Добавление 3. Со всем вышеприведённым кодом провёл только что импорт свежих данных - успешно. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 12:49 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Добавление 4. Рукозады, которые выкладывают свежую БД, не следят за выгрузкой. В результате в некоторых записях выгружаемого XML кириллица заменяется энтитьками, и размер данных поля начинает превышать установленную их же собственной схемой данных длину. Соответственно возникают грабли при импорте - ведь LOAD XML не производит конвертацию энтитек в символы. Рекомендую после загрузки данных из файла NORMDOC.XML вставить команду SHOW WARNINGS - это позволит увидеть, с чем именно возникла проблема. Хотя их общее количество (на текущий момент - 18 штук) видно и так... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:20 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Akinaих общее количество (на текущий момент - 18 штук) видно и так Вот перечень (и значения) проблемных на текущий момент записей: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
В чём именно накосячено - видно. Видно также, как надо поправить скрипт, чтобы не было предупреждений: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 15:45 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Ну и "выправление" таких записей - например, заменой табуляций на пробелы: Код: sql 1. 2. 3.
На текущий момент таких "косых" записей 121 штука. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 15:58 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
AkinaДобавление 4. Рукозады, которые выкладывают свежую БД, не следят за выгрузкой. В результате в некоторых записях выгружаемого XML кириллица заменяется энтитьками, и размер данных поля начинает превышать установленную их же собственной схемой данных длину. Соответственно возникают грабли при импорте - ведь LOAD XML не производит конвертацию энтитек в символы. Рекомендую после загрузки данных из файла NORMDOC.XML вставить команду SHOW WARNINGS - это позволит увидеть, с чем именно возникла проблема. Хотя их общее количество (на текущий момент - 18 штук) видно и так... Это только в normdoc ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 17:24 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Возможно, что и в других таблицах (и даже в других полях этой) есть такого рода косяки - но я их не искал. Этот вылез исключительно потому, что длина данных была выше заявленной в схеме данных, и сервер ругнулся, что данные усечены. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 18:02 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Akina, Просто я тоже загружал недавно, но НЕ загружал NORMDOC. Пока ничего не нашлось плохого. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 19:57 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Может есть у кого select такого типа: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 17:10 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
adminsamaraМожет есть у кого select такого типа: Код: sql 1.
а что на входе? и какая СУБД? Если MySQL, то все сильно непросто... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 19:10 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
MasterZiv, именно она, MYSQL... А что можно сделать, как упростить?! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 19:34 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
MasterZivadminsamaraМожет есть у кого select такого типа: Код: sql 1.
а что на входе? и какая СУБД? Если MySQL, то все сильно непросто... делаю в дельфи в комбобоксе выбираю область-в следующем комбобоксе город и т д =) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 19:36 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Akina, ты выручил своим постом! Хочу поддержать тебя и задонатить) Говори куда деньги класть) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 18:39 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Загрузить сильно, дай код сравнения ваших домов, и домов в фиасе? С учётом версий и домов в ленмарке. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2016, 20:34 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
И интервалов домов ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2016, 20:35 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Akina, а не подскажете сколько записей содержится в таблице House? А то я тут на ночь оставил процесс импорта, а с утра обнаружил что комп завис. В итоге у меня в таблице 18 328 237 записей. Хочу, вот, понять, завершился ли процесс импорта... Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2017, 12:35 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Понятия не имею. В любом случае я бы пересоздал таблицу и перезалил данные. А в промежутке ещё бы и файловую систему проверил... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2017, 19:19 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Почему в этой базе г. Москва числится как регион? (AOLEVEL = 1) Московская область тоже регион. Хотел сделать выбор региона/города, но москву как город не найти (если AOLEVEL 4) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2017, 10:12 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Akina, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2017, 19:06 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Исходник проги на делфи не выложите тут? Прошу прощения за наглость ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2017, 19:21 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Статья по теме: Как перейти от КЛАДР к ФИАС и ничего себе не сломать ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2017, 20:49 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Тогда уж вдогонку: ФИАС умер, да здравствует… да здравствует… да не понятно что пока Смысла мало, депрессии много. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2017, 21:07 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Ну "хоть что-то" всяко лучше, чем ничего, через какую бы задницу оно ни было. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 21:44 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Здравствуйте! Подскажите, пожалуйста, в чем может быть проблема: Пытаюсь импортировать данные из файла AS_ADDROBJ.XML в таблицу addrobj. Всё пишется в таблицу, однако, вместо значений в яцейках пустота. Использую команду Код: sql 1. 2. 3.
Использую последнюю на данный момент базу ФИАС с действующими с 2016 года схемой: AS_ADDROBJ.xsd <?xml version="1.0" encoding="utf-8"?> <!-- edited with XMLSpy v2009 sp1 ( http://www.altova.com) by Буравцев_А (EMBRACE) --> <xs:schema xmlns:xs=" http://www.w3.org/2001/XMLSchema" xmlns:sch=" http://purl.oclc.org/dsdl/schematron" xmlns:usch=" http://www.unisoftware.ru/schematron-extensions" xmlns:sql="urn:schemas-microsoft-com:mapping-schema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="AddressObjects"> <xs:annotation> <xs:documentation>Состав и структура файла с информацией классификатора адресообразующих элементов БД ФИАС</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Object" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Классификатор адресообразующих элементов</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="AOGUID" use="required"> <xs:annotation> <xs:documentation>Глобальный уникальный идентификатор адресного объекта </xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="36"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="FORMALNAME" use="required"> <xs:annotation> <xs:documentation>Формализованное наименование</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="120"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="REGIONCODE" use="required"> <xs:annotation> <xs:documentation>Код региона</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="2"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="AUTOCODE" use="required"> <xs:annotation> <xs:documentation>Код автономии</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="1"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="AREACODE" use="required"> <xs:annotation> <xs:documentation>Код района</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="3"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="CITYCODE" use="required"> <xs:annotation> <xs:documentation>Код города</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="3"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="CTARCODE" use="required"> <xs:annotation> <xs:documentation>Код внутригородского района</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="3"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="PLACECODE" use="required"> <xs:annotation> <xs:documentation>Код населенного пункта</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="3"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="STREETCODE" use="optional"> <xs:annotation> <xs:documentation>Код улицы</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="4"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="EXTRCODE" use="required"> <xs:annotation> <xs:documentation>Код дополнительного адресообразующего элемента</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="4"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="SEXTCODE" use="required"> <xs:annotation> <xs:documentation>Код подчиненного дополнительного адресообразующего элемента</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="3"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="OFFNAME" use="optional"> <xs:annotation> <xs:documentation>Официальное наименование</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="120"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="POSTALCODE" use="optional"> <xs:annotation> <xs:documentation>Почтовый индекс</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="6"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="IFNSFL" use="optional"> <xs:annotation> <xs:documentation>Код ИФНС ФЛ</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="4"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="TERRIFNSFL" use="optional"> <xs:annotation> <xs:documentation>Код территориального участка ИФНС ФЛ</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="4"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="IFNSUL" use="optional"> <xs:annotation> <xs:documentation>Код ИФНС ЮЛ</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="4"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="TERRIFNSUL" use="optional"> <xs:annotation> <xs:documentation>Код территориального участка ИФНС ЮЛ</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="4"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="OKATO" use="optional"> <xs:annotation> <xs:documentation>OKATO</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="11"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="OKTMO" use="optional"> <xs:annotation> <xs:documentation>OKTMO</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="8"/> <xs:maxLength value="11"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="UPDATEDATE" type="xs:date" use="required"> <xs:annotation> <xs:documentation>Дата внесения записи</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="SHORTNAME" use="required"> <xs:annotation> <xs:documentation>Краткое наименование типа объекта</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="10"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="AOLEVEL" use="required"> <xs:annotation> <xs:documentation>Уровень адресного объекта </xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:totalDigits value="10"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="PARENTGUID" use="optional"> <xs:annotation> <xs:documentation>Идентификатор объекта родительского объекта</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="36"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="AOID" use="required"> <xs:annotation> <xs:documentation>Уникальный идентификатор записи. Ключевое поле.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="36"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="PREVID" use="optional"> <xs:annotation> <xs:documentation>Идентификатор записи связывания с предыдушей исторической записью</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="36"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="NEXTID" use="optional"> <xs:annotation> <xs:documentation>Идентификатор записи связывания с последующей исторической записью</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="36"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="CODE" use="optional"> <xs:annotation> <xs:documentation>Код адресного объекта одной строкой с признаком актуальности из КЛАДР 4.0. </xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="0"/> <xs:maxLength value="17"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="PLAINCODE" use="optional"> <xs:annotation> <xs:documentation>Код адресного объекта из КЛАДР 4.0 одной строкой без признака актуальности (последних двух цифр)</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="0"/> <xs:maxLength value="15"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="ACTSTATUS" use="required"> <xs:annotation> <xs:documentation>Статус исторической записи в жизненном цикле адресного объекта: 0 – не последняя 1 - последняя</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:totalDigits value="10"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="CENTSTATUS" use="required"> <xs:annotation> <xs:documentation>Статус центра</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:totalDigits value="10"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="OPERSTATUS" use="required"> <xs:annotation> <xs:documentation>Статус действия над записью – причина появления записи (см. описание таблицы OperationStatus): 01 – Инициация; 10 – Добавление; 20 – Изменение; 21 – Групповое изменение; 30 – Удаление; 31 - Удаление вследствие удаления вышестоящего объекта; 40 – Присоединение адресного объекта (слияние); 41 – Переподчинение вследствие слияния вышестоящего объекта; 42 - Прекращение существования вследствие присоединения к другому адресному объекту; 43 - Создание нового адресного объекта в результате слияния адресных объектов; 50 – Переподчинение; 51 – Переподчинение вследствие переподчинения вышестоящего объекта; 60 – Прекращение существования вследствие дробления; 61 – Создание нового адресного объекта в результате дробления </xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:totalDigits value="10"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="CURRSTATUS" use="required"> <xs:annotation> <xs:documentation>Статус актуальности КЛАДР 4 (последние две цифры в коде)</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:totalDigits value="10"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="STARTDATE" type="xs:date" use="required"> <xs:annotation> <xs:documentation>Начало действия записи</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="ENDDATE" type="xs:date" use="required"> <xs:annotation> <xs:documentation>Окончание действия записи</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="NORMDOC" use="optional"> <xs:annotation> <xs:documentation>Внешний ключ на нормативный документ</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="36"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="LIVESTATUS" use="required"> <xs:annotation> <xs:documentation>Признак действующего адресного объекта</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:byte"> <xs:enumeration value="0"/> <xs:enumeration value="1"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="CADNUM" use="optional"> <xs:annotation> <xs:documentation>Кадастровый номер</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="100"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="DIVTYPE" use="required"> <xs:annotation> <xs:documentation>Тип адресации: 0 - не определено 1 - муниципальный; 2 - административно-территориальный</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:int"> <xs:enumeration value="0"/> <xs:enumeration value="1"/> <xs:enumeration value="2"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> Сама таблица выглядит так. addrobj.sql CREATE TABLE `addrobj` ( `aoguid` varchar(36) NOT NULL, `formalname` varchar(120) NOT NULL COMMENT 'Формализованное наименование', `regioncode` varchar(2) NOT NULL COMMENT 'Код региона', `autocode` varchar(1) NOT NULL COMMENT 'Код автономии', `areacode` varchar(3) NOT NULL COMMENT 'Код района', `citycode` varchar(3) NOT NULL COMMENT 'Код города', `ctarcode` varchar(3) NOT NULL COMMENT 'Код внутригородского района', `placecode` varchar(3) NOT NULL COMMENT 'Код населенного пункта', `streetcode` varchar(4) NOT NULL COMMENT 'Код улицы', `extrcode` varchar(4) NOT NULL COMMENT 'Код дополнительного адресообразующего элемента', `sextcode` varchar(3) NOT NULL COMMENT 'Код подчиненного дополнительного адресообразующего элемента', `offname` varchar(120) NOT NULL COMMENT 'Официальное наименование', `postalcode` char(6) NOT NULL COMMENT 'Почтовый индекс', `ifnsfl` varchar(4) NOT NULL COMMENT 'Код ИФНС ФЛ', `terrifnsfl` varchar(4) NOT NULL COMMENT 'Код территориального участка ИФНС ФЛ', `ifnsul` varchar(4) NOT NULL COMMENT 'Код ИФНС ЮЛ', `terrifnsul` varchar(4) NOT NULL COMMENT 'Код территориального участка ИФНС ЮЛ', `okato` varchar(11) NOT NULL COMMENT 'ОКАТО', `oktmo` varchar(11) NOT NULL COMMENT 'ОКТМО', `updatedate` date NOT NULL COMMENT 'Дата внесения записи', `shortname` varchar(10) NOT NULL COMMENT 'Краткое наименование типа объекта', `aolevel` int(10) UNSIGNED NOT NULL COMMENT 'Уровень адресного объекта ', `parentguid` char(36) NOT NULL COMMENT 'Идентификатор объекта родительского объекта', `aoid` varchar(36) NOT NULL, `previd` varchar(36) NOT NULL COMMENT 'Идентификатор записи связывания с предыдушей исторической записью', `nextid` varchar(36) NOT NULL COMMENT 'Идентификатор записи связывания с последующей исторической записью', `code` varchar(17) NOT NULL COMMENT 'Код адресного объекта одной строкой с признаком актуальности из КЛАДР 4.0', `plaincode` varchar(15) NOT NULL COMMENT 'Код адресного объекта из КЛАДР 4.0 одной строкой без признака актуальности (последних двух цифр)', `actstatus` tinyint(10) UNSIGNED NOT NULL COMMENT 'Статус актуальности адресного объекта ФИАС. Актуальный адрес на текущую дату. Обычно последняя запись об адресном объекте.', `centstatus` int(10) UNSIGNED NOT NULL COMMENT 'Статус центра', `operstatus` int(10) UNSIGNED NOT NULL COMMENT 'Статус действия над записью – причина появления записи', `currstatus` int(10) UNSIGNED NOT NULL COMMENT 'Статус актуальности КЛАДР 4 (последние две цифры в коде)', `startdate` date NOT NULL COMMENT 'Начало действия записи', `enddate` date NOT NULL COMMENT 'Окончание действия записи', `normdoc` varchar(36) NOT NULL COMMENT 'Внешний ключ на нормативный документ', `livestatus` int(1) NOT NULL, `cadnum` varchar(100) NOT NULL, `divtype` int(1) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Классификатор адресообразующих элементов'; Пробовал на разных машинах с разной конфигурацией MySQL, результат один и тот же. Хотя, с другим XML файлом StructureStatus.XML для более простой таблицы всё проходит на УРА: Код: sql 1.
AS_STRSTAT.xsd <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs=" http://www.w3.org/2001/XMLSchema" xmlns:sch=" http://purl.oclc.org/dsdl/schematron" xmlns:usch=" http://www.unisoftware.ru/schematron-extensions" xmlns:sql="urn:schemas-microsoft-com:mapping-schema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="StructureStatuses"> <xs:annotation> <xs:documentation>Состав и структура файла с информацией по признакам строения в БД ФИАС</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="StructureStatus" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Признак строения</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="STRSTATID" use="required"> <xs:annotation> <xs:documentation>Признак строения</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:totalDigits value="10"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="NAME" use="required"> <xs:annotation> <xs:documentation>Наименование</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="20"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="SHORTNAME" use="optional"> <xs:annotation> <xs:documentation>Краткое наименование</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="20"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> Видимо MySQL при парсинге XML файла просто не находит нужные значения. Подскажите, пожалуйста, как решить эту проблему. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2017, 12:58 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
авторRecords: 3235532 Deleted: 0 Skipped: 0 Warnings: 122950216 Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2017, 13:07 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Hett, SHOW WARNINGS выдает для всех столбцов: Код: sql 1.
SHOW WARNINGS;. mysql> SHOW WARNINGS; +---------+------+-------------------------------------------------------------------------------------+ | Level | Code | Message | +---------+------+-------------------------------------------------------------------------------------+ | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'aoguid' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'formalname' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'regioncode' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'autocode' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'areacode' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'citycode' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'ctarcode' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'placecode' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'streetcode' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'extrcode' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'sextcode' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'offname' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'postalcode' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'ifnsfl' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'terrifnsfl' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'ifnsul' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'terrifnsul' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'okato' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'oktmo' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'updatedate' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'shortname' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'aolevel' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'parentguid' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'aoid' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'previd' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'nextid' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'code' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'plaincode' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'actstatus' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'centstatus' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'operstatus' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'currstatus' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'startdate' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'enddate' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'normdoc' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'livestatus' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'cadnum' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'divtype' at row 1 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'aoguid' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'formalname' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'regioncode' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'autocode' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'areacode' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'citycode' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'ctarcode' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'placecode' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'streetcode' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'extrcode' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'sextcode' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'offname' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'postalcode' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'ifnsfl' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'terrifnsfl' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'ifnsul' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'terrifnsul' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'okato' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'oktmo' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'updatedate' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'shortname' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'aolevel' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'parentguid' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'aoid' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'previd' at row 2 | | Warning | 1263 | Column set to default value; NULL supplied to NOT NULL column 'nextid' at row 2 | +---------+------+-------------------------------------------------------------------------------------+ 64 rows in set (0,00 sec) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2017, 13:36 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Hett, Проблема оказалась в том, что имя XML-тега должно полностью соответствовать названию в таблице с учетом регистра . В моем случае в значения полей в таблице оказались в нижнем регистре. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2017, 14:40 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
У меня была такая мысль, но подумалось, что MySQL не регистрозависим в названиях таблиц, полей, операторов.... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2017, 14:41 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
FLYERokПроблема оказалась в том, что имя XML-тега должно полностью соответствовать названию в таблице с учетом регистра .Ну вообще-то это установлено стандартом. Это чтобы получить регистронезависимость - надо поизвращаться (ассертом там в схеме или ещё как). ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2017, 15:33 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Всем привет. встала задача загрузки FIAS в локальную базу Oracle и MySQL, т.к. в XML формате очень много грузить а нужно только один сфой регион было принято решение грузить из DBF т.к. на просторах интернета готового не нашел написал свой класс для загрузки DBF в MySQL, в дальнейшем буду дорабатывать для загрузки в Oracle. опубликовал всё GitHab Код: php 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2017, 12:05 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
кстати забыл файл запуска положить написать что почему-то не открывается файлы типа "NORDOC02.DBF" для работы необходимо в системе скачать и подключить библиотеку php_dbase.dll в файле "php.ini" строку "extension=php_dbase.dll" Файл запуска Код: php 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2017, 12:46 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Доброго всем дня, появилась необходимость импорта ФИАС. перечитал кучу инфы и вариантов импорта, но .... ничего не получается :( 1. примеры из первого поста - увы уже не актуальны, найти нормальной инфы по импорту XSD схем - наверно плохо искал :( но не нашел. 2. при импорте происходит оооооооочень долгая загрузка. так напаример ADDROBJ.XML у меня так и не грузится, примерно через час в консоли выдает ошибку "ERROR 2013 (HY000): Lost connection to MySQL server during query" - я так понимаю это ограничение на выполнение скрипта, при неоднократных попытках, я увеличивал время выполнения, но даже этот файл у меня грузился больше 20 часов после чего либо приходилось останавливать, либо банально свет выключали :( программкой что в этой ветке - ADDROBJ.XML не делится на части - на выходе получается один файл. памяти на серваке мало :( 1 гиг стоит убунта 16.04 и mysql 5.7 до эксперементов стоял 5.6 с базой фиас от 2014 года сейчас стоит задача поставить актуальную базу. подскажите гуру как при текущих условиях это сделать в разумные сроки - и вообще какие при моей конфигурации "сервака" можно считать разумными? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 04:26 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
ps пробовал импортировать dbf по своему региону из последних постов, но и он в базу пишет абракадабру - насколько я понял в базу почему-то попадают записи в кодировке cp1251 - но почему это происходит - мне так и не понятно ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 04:28 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Бакеев Дамир, доброго времени суток) Подскажите какое время занимает импорт полной БД ФИАС вашим скриптом, а именно интересует таблица ADDROBJ. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2018, 14:15 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Бакеев Дамир, Забыл добавить, загрузка в БД Oracle. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2018, 14:19 |
|
Импорт БД ФИАС в MySQL. Практический опыт.
|
|||
---|---|---|---|
#18+
Всем привет! Я недавно заташил ФИАС к себе в проект и столкнулся со следующей проблемой: В таблице ADDROBJ нехватает много объектов притом некоторые с AOLEVEL 3 вот пару из низ ("4de3b33a-ebd4-4a9a-a61f-b1303ee8ac5c", "484fd840-3e18-418a-939c-b1666e56b676", "949be818-fba7-418e-9fec-03ca70cba9d9", "3aa9dab1-6d29-4573-833c-3f0ddf3ad4a0") более того нет ниодного объекта у с таким PARENTGUID но при этом на сайте https://fias.nalog.ru/ExtendedSearch эти объекты есть. Я скачал самый свежий архив (на данный момент это архив от 13.04.2020) в формате XML вот с этого сайта: https://fias.nalog.ru/Updates и при помощи написанной мною программки на java перегнал все это дело в нашу БД. Конечно, первым дело было подозрение на косячную работу программы, но я открывал файл ADDROBJ.xml и пытался в нём найти такой ID безрезультатно. Кто нибудь сталкивался с подобного рода проблемами. На всякий случай эти объекты относятся к Пермскому краю и Челябинской области. Я был бы очень рад любой помощи. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2020, 15:56 |
|
|
start [/forum/topic.php?all=1&fid=47&tid=1828623]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
130ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
79ms |
get tp. blocked users: |
1ms |
others: | 300ms |
total: | 551ms |
0 / 0 |