powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Загрузка ФИАС через spXmlBulkLoad
25 сообщений из 73, страница 2 из 3
Загрузка ФИАС через spXmlBulkLoad
    #38704485
AnyKey45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПаWWWлОдАрЕц,

1 дом поделен на 2 отделения почты = разные индексы
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #38706674
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Импорт фиаса через хп это эпик фэйл какой-то :)
Может кому пригодится http://codearticles.ru/articles/2403
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #38706741
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что плохого в загрузке этих справочников через bulk?
Эту статья я думаю уже большинство людей кто интересовался загрузкой их в MSSQL уже давно видели.
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #38901282
Einsof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А у меня печалька. Дельты в XML грузятся, а вот на загрузке полных XML падает на загрузке самомого большого файла HOUSE (14G!).
Использую SQLXMLBulkLoad:
Код: xml
1.
2.
<?xml version="1.0"?><Result State="FAILED"><Error><HResult>0xC00CEE26</HResult><Description><![CDATA[An attribute value must not contain '<'.
]]></Description><Source>XML SAX Parser</Source><Type>FATAL</Type></Error></Result>


То есть парсер якобы нашел незаэскейпленный '<'. Никто не сталкивался с таким ?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Загрузка ФИАС через spXmlBulkLoad
    #39213182
foxwizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поделитесь исправленными xsd схемами ФИАС, пожалуйста.
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39228933
Сова
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дико извиняюсь, но не поделится ли кто-нибудь исправленными xsd-схемами?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Загрузка ФИАС через spXmlBulkLoad
    #39546307
XMLBulkLoad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста, концепцию загрузки базы ФИАС в формате XML.

Известно, что данные предоставляются в двух вариантах: целиком на некоторую дату, либо апдейтами в виде дельта-файлов, содержащих добавления, изменения и удаления за период, определенный датой предыдущей выгрузки базы и текущей на момент данной выгрузки.

XMLBulkLoad загружает данные используя только вставку (поправьте, если не прав) и каждый раз очищать у себя базу FIAS только для загрузки целиком довольно накладно. Кто-то реализовывал слияние данных с использованием XMLBulkLoad (может триггерами на таблицы или как-то еще)? Интересно ваше мнение, как в данном случае можно было бы решить задачу дозаливки изменений, вместо полного переноса данных.
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39546352
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тя есть ажно два пути

1. .IgnoreDuplicateKeys = True
2. Грузить в tempdb + merge
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39546354
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) никогда, повторяю, никогда не грузите xml сразу в рабочие таблицы!
2) ну а исходя из того что у вас есть и текущие рабочие таблицы и таблицы в которых есть обновление то что мешает проапдейтить одну таблицу из другой? по диффам не подскажу, не заморачивался, у меня не та нагрузка на БД была чтобы заморачиватся, ночью просто пускался джоб который обновлял рабочие таблицы
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39546572
XMLBulkLoad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за предложения, конечно речи о том, чтобы грузить в рабочие таблицы и не шло.

Удалось смоделировать такое решение:

XMLBulkLoad загружает данные в таблицы-пустышки, на которых имеются Instead Of Insert-триггеры. Данные в этих таблицах не хранятся, а триггеры осуществляют MERGE в таблицы данных. При этом у экземпляра класса SQLXMLBulkLoad нужно включить работу триггеров при вставке (FireTriggers = True).
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39546577
XMLBulkLoad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще вариант: таблицы-пустышки можно заменить представлениями с теми же триггерами, но тогда у импортера нужно отключить генерацию таблиц (SchemaGen = False), иначе он будет пытаться создать таблицы, одноименные с этими представлениями.
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39546591
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да ну, триггеры вообще не особо люблю, чем вас не устраивает прогруз в эти таблицы пустышки, а затем просто регулярно выполняемый job который скопирует и обновит данные как надо? Посути у вас триггер будет работать построчно, но опять же зачем если можно потом просто сделать UPDATE и обработать все строки сразу.
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39546609
XMLBulkLoad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
энди,
Да, вполне вариант с джобом, работать должен быстрее, но и требовать в два раза больше места под временное хранилище. Правда я вот джобы не очень люблю :), ибо их на сервере накопилось очень много. Можно после загрузки данных в таблицы запускать некую процедуру слияния.
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39546611
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почему в 2 раза? вы будете полную БД фиаса грузить или только diff-ы? Вторые явно меньше основной БД.
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39546623
XMLBulkLoad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
энди,

В два раза не по отношению ко всем данным, а только импортируемым... Хотя, конечно, хотелось бы не заморачиваться и сделать единый механизм как для начальной загрузки, так и для дельт. При этом полную заливку можно было бы сделать и ночью, тут скорость не критична. В будущем может понадобиться прибегнуть и к полной заливке повторно. Не очень хотелось бы делать это в полуручном режиме.
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39546671
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 набора пустых таблиц для импорта.
1) создать джоб для diff, грузит данные из инета, распаковывает куда надо, загружает в пустые таблицы на сервере и обновляет данные рабочей БД
2) второй джоб аналогичен, только обновляет БД полностью.
3) настроить запуск первого типа обновления раз в 3 дня, второго скажем раз в квартал
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39547277
XMLBulkLoad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
энди,

Все же я проверил вашу гипотезу о том, что триггер срабатывает на каждую запись - она не верная. Триггер срабатывает сразу на все записи, похоже (или на какую-то большую пачку, размер которой весьма существенный). Ну и действительно, рассуждая логически: чтобы работать построчно XMLBulkLoad пришлось бы каждую запись отправлять отдельно, что драматически сказалось бы на быстродействии.

Существенных потерь при вставке через триггер я не обнаружил - все достаточно быстро, продолжаю реализацию без промежуточных хранений.
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39571985
Fabyf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу простить мою наглость, но очень очень нужны готовые, доработанные схемы XSD для ФИАС
Прошу Вашей помощи, если Вам не сложно выложите плз.
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39571995
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fabyf,

Прошлогодние есть. Не знаю, насколько актуальны они сейчас.
ФИАС
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39572093
Fabyf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ptr128,
Большое Вам спасибо!!!!
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39574881
KRS544
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовМы DBF загружаем, полет нормальный.
+1 Зачем с XML cсвязываться, когда DBF есть
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39575163
iii2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ptr128, спасибо!
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39575183
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю загрузка из xml на порядок быстрее загрузки dbf. Это достаточная причина?
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39575189
эндизагрузка из xml на порядок быстрее загрузки dbf. И есть убедительные доказательства сего утверждения?
...
Рейтинг: 0 / 0
Загрузка ФИАС через spXmlBulkLoad
    #39604012
Wovan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините, подниму тему.
Подскажите, а где, собственно, взять этот пресловутый spxmlbulkload? Набираю
EXEC spXmlBulkLoad 'e:\AS_ADDROBJ.XML', 'e:\AS_ADDROBJ.xsd', 'inetbuffer',
а в ответ
"Сообщение 2812, уровень 16, состояние 62, строка 13 Не удалось найти хранимую процедуру "spXmlBulkLoad".".
Где она прячется? На форумах и в статьях как-то все пространно расписано, а как и где запустить не понятно, либо, наоборот, так тривиально, что просто об этом и не упоминают.
Помогите, ткните носом. Спасибо.
...
Рейтинг: 0 / 0
25 сообщений из 73, страница 2 из 3
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Загрузка ФИАС через spXmlBulkLoad
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]