Как правильно и быстро выполнить огромный скрипт из файла?
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Как правильно и быстро выполнить огромный... Expand / Collapse
Автор
Сообщение
13.10.2006 15:07
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 07.07.2007 21:50
Сообщ.: 21, Visits: 144
Есть такая проблема... Для одного Web-проекта используется виртуальный сервер весьма ограниченной мощности. А для функционирования требуется ежедневно обновлять базу данных с помощью скачиваемых XML-файлов. (размер XML получается около 18 МБ, в скриптах - чуть больше)

Здесь есть 3 пути:
1. Как-то делать заливку данных из XML через механизм (BCP?) Batch
2. Конвертировать XML в SQL-скрипт и по-порциям выполнять с помощью .net-приложения
3. Конвертировать XML в SQL-скрипт и запустить какую-то консольную команду, которая запустила бы "правильный" механизм SQL-Server для импорта скриптов из файла.

Я сейчас использую 2-ой путь, он отлично работал в июле, но сейчас сервер, вероятно, перегружен и приложение элементарно виснет, будучи не в состоянии залить в базу все данные. Сразу оговорюсь, что тормоза из-за виртуалки, т.к. у меня дома всё летает и делается за 3 минуты.

Главный вопрос у меня такой: Как вообще можно правильно средствами MS-Windows, SQL-Server или .net выполнить такого рода работу?
Я где-то читал про какой-то com-компонент для импорта данных из XML в таблицу, но разобраться не смог. Возможно, простым решением было бы запускать через Windows Sheduled Tasks приложение-конвертор, а следом, запускать какую-то хитрую консольную команду для выполнения SQL-команд (в основном, insert) из определённого файла. Только я не знаю таких команд...

Что посоветуете?

З.Ы. Вообще я 3 месяца назад поднимал такую тему, но там условия были похуже: aspx-скрипт, каскадное удаление, то-сё. Сейчас просто формируются пустые копии таблиц, в них заливаются данные, а потом таблицы подменяются.
Сообщ. #905667
13.10.2006 18:11
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 27.02.2008 16:42
Сообщ.: 43, Visits: 1 569
Пoпрoбуйте испoльзoвaть OPENXML:

http://msdn2.microsoft.com/en-us/library/ms186918.aspx

Сообщ. #905677
15.10.2006 23:19
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 07.07.2007 21:50
Сообщ.: 21, Visits: 144
MFisher, спасибо за наводку, с этим вариантом не разобрался, зато набрёл на нормальную документацию по XML Bulk Load, с помощью которого проблема и была решена. Повозиться, конечно, пришлось капитально :)
Сообщ. #905734
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, Alexey Spirin

Время GMT +3:00, Сейчас 8:55