|
|
|
Junior 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-скрипт, каскадное удаление, то-сё. Сейчас просто формируются пустые копии таблиц, в них заливаются данные, а потом таблицы подменяются.
|
|
|
|
|
Forum Member
      
участник
Last Login: 27.02.2008 16:42
Сообщ.: 43,
Visits: 1 569
|
|
|
|
|
|
Junior Member
      
участник
Last Login: 07.07.2007 21:50
Сообщ.: 21,
Visits: 144
|
|
| MFisher, спасибо за наводку, с этим вариантом не разобрался, зато набрёл на нормальную документацию по XML Bulk Load, с помощью которого проблема и была решена. Повозиться, конечно, пришлось капитально :)
|
|
|
|