С Новым годом! Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/29: Рейтинг темы: голосов - 29, средняя оценка - 4.79
0 / 0 / 1
Регистрация: 21.10.2012
Сообщений: 51
MS SQL

Загрузку данных из xml по схеме xsd в бд MS SQL

23.08.2017, 09:34. Показов 5754. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется данные бд записанные в файл xml, схема БД описана в файле xsd. Требуется создать БД mysql по схеме и записать туда данные. Знаю, что можно это сделать при помощи BulkLoad, но примеры и подробности не могу найти тем более на C#. Подскажите пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.08.2017, 09:34
Ответы с готовыми решениями:

Создание набора данных .xsd на основе сохраненного дампа базы данных MS SQL
Привет всем! У меня есть текстовый файл - дамп (если правильно выражаюсь) базы данных с расширением .sql такого вида: USE GO ...

Ошибка в XSD схеме
Вся проблема начинается после добавления <format id="2" ... подскажите что не так делаю ? XML <?xml...

Как запрограммировать загрузку на свой сайт данных из фида на xml
Как запрограммировать динамическую загрузку на свой сайт (сайт интернет-магазина или доски объявлений) данных из файла-фида в формате xml? ...

8
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
23.08.2017, 11:38
Точно MySQL - неужели его научили читать xml-ки?
Буду признателен, если кто-то кинет в меня этой документацией, месяц назад не нашел я работу MySQL + xml, только самописные парсеры xml-ек а потом отправка данных в сиквел готовых.
0
0 / 0 / 1
Регистрация: 21.10.2012
Сообщений: 51
23.08.2017, 11:41  [ТС]
ms sql, прошу прощения. Почему-то не получается ввести поправки в тему.
0
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
23.08.2017, 12:46
Ну тут есть 2 варианта - использовать EF, тогда он сам будет создавать таблички (при правильном подходе) либо использовать XQuery для распарсивания xml-ек.
для первого варианта - в гугле масса примеров, для второго - шарп вообще не будет заниматься этим, а всю работу по созданию/записыванию возьмет на себя сервер.
Какой вариант предпочитаете?
0
0 / 0 / 1
Регистрация: 21.10.2012
Сообщений: 51
25.08.2017, 09:51  [ТС]
Я уже начал делать через BulkLoad, который будет заполнять БД данными из xml по схеме xsd. Что бы создавались таблички, которых нет, нужно присвоить SchemaGen = true.

Добавлено через 18 часов 50 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
             try  
             {
                SQLXMLBULKLOADLib.SQLXMLBulkLoad4 objBL = new SQLXMLBULKLOADLib.SQLXMLBulkLoad4();;
                objBL.ConnectionString = "";
                objBL.ErrorLogFile = "error.xml";
                objBL.SchemaGen = true;
                objBL.KeepIdentity = false;
                objBL.Execute("1.xsd", "2.xml");
             }  
             catch 
             {  
                MessageBox.Show(e.ToString(), "Exception");
             }
Не могу понять, появилась ошибка: Schema: relationship expected on 'СвЮЛ'. Как это исправить?

Добавлено через 21 час 9 минут
hoolygan, расскажите по подробней про 1 способ пожалуйста. Распарсивания большого количества данных, требует большого количества времени.
0
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
25.08.2017, 19:15
Это ж сколько данных у Вас? У меня файл на 30 мб распарсивался за 1,5 минуты, там было порядка 700 000 записей в 4 колонки. А сколько же у Вас?
0
0 / 0 / 1
Регистрация: 21.10.2012
Сообщений: 51
28.08.2017, 08:48  [ТС]
hoolygan, Я думал существенно больше потребуется времени. Приблизительно 30 - 40мб.
0
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
28.08.2017, 10:27
Ну так это не много. При правильно продуманном cross apply и запихиванием посредством select .. into.. - очень даже всё быстро у Вас должно сработать. Тестировал у себя на ноуте, ms sql express edition 2014, с параметрами - Core I3, 8Gb RAM DDR3, IDE HDD, безо всяких SSD еще и с запущенной студией. В общем - не всё так критично, как кажется на первый взгляд.
Но вот в EF, я, признаться, полный новичок. Пока не приходилось с ним работать, так, пробовал пару раз поиграться и всё пока что.
0
0 / 0 / 1
Регистрация: 21.10.2012
Сообщений: 51
28.08.2017, 15:37  [ТС]
hoolygan, что то я не совсем понял, ты предлагаешь сгенерировать sql скрип из xsd? Скинь пожалуйста небольшой часть кода, для примера. Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.08.2017, 15:37
Помогаю со студенческими работами здесь

Проверка XML с XSD которой ссылается на другой XML файл
Допустим есть готовая структура с данными (xml1.xml) <packet> <zap> <ID>1</ID> <NAME>NAME1</NAME> ...

Выгрузка данных из таблицы в XML файл по схеме
Доброго времени суток.  Друзья, помогите с решением... имеется таблица в БД Access с данными и необходимо чтобы из нее выгружались...

Xml & Xsd
Лотус 6.5 Есть XML документ, а также XSD схема, которой должен соответствовать этот документ. Умеет ли Лотус каким либо образом...

Xml, xsd
Здравствуйте! Прошу прощения, что вопрос размещён не соотвествующей теме. Я попросту не знал куда его занести. Проблема такая: не могу...

Валидация XML, XSD
Есть XSD, при компиляции получается xmlschemaset, нужно создать удобный валидатор, чтобы можно легко изменять и добавлять различные правила...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru