Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
 Аватар для Antykus
0 / 0 / 2
Регистрация: 10.05.2014
Сообщений: 230

Импорт из XML в MS SQL, отображение прогресса

04.03.2016, 10:27. Показов 2606. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Провожу импорт из XML в MS SQL Server. Так как файлы XML большущие, использую xmlreader, т.е. читаю данные по элементам, а не гружу их кучей в оперативную память. Цель - сделать прогрессбар, отображающий, сколько данных обработано из общей массы. Вопрос - как сделать грамотнее в данном случае - тупо тем же xmlreader'ом сначала посчитать количество строк, а потом уже делать импорт, или, например, определить физический размер файла xml и уже на основе этого значения определять сколько данных обработано? Спасибо
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.03.2016, 10:27
Ответы с готовыми решениями:

Импорт из xml в MS SQL
Здравствуйте. Написала небольшую прогу на delphi,которая экспортирует данные из одной бд в файл xml. Пример содержимого файла: ...

Импорт из XML в MS SQL Server
такой xml <node id="26480597" version="15" timestamp="2014-05-15T12:58:12Z" uid="204049" user="olehz" changeset="22351978"...

Массовый импорт xml файлов в sql
Доброго времени суток! Скорее всего подобная тема уже поднималась, но не нашел четкого ответа. Как можно одним запросом импортировать...

4
 Аватар для Пaтрик
442 / 410 / 132
Регистрация: 21.01.2012
Сообщений: 976
06.03.2016, 21:44
Лучший ответ Сообщение было отмечено Antykus как решение

Решение

Общая идея такова:
C#
1
2
3
4
5
6
7
8
9
10
11
using (FileStream stream = new FileStream("TextFile1.xml", FileMode.Open, FileAccess.Read))
using (XmlReader reader = new XmlTextReader(stream))
{
    while (reader.Read())
    {
        if (reader.NodeType == XmlNodeType.Element)
        {
            Console.WriteLine("{0:F2}% {1}", stream.Position * 100.0 / stream.Length, reader.Name);
        }
    }
}
1
 Аватар для Antykus
0 / 0 / 2
Регистрация: 10.05.2014
Сообщений: 230
07.03.2016, 16:52  [ТС]
Пaтрик, идея ясна, только никак пока не могу понять, как получить количество прочитанных объектом xmlreader'а байт
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
07.03.2016, 17:40
Antykus, видимо ты невнимательно смотрел на код - stream.Position.
1
 Аватар для Antykus
0 / 0 / 2
Регистрация: 10.05.2014
Сообщений: 230
07.03.2016, 18:40  [ТС]
OwenGlendower, и правда, проглядел деталь, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.03.2016, 18:40
Помогаю со студенческими работами здесь

Отображение прогресса
Здравствуйте. Как сделать при загрузке например чтоб показывало "Загрузка", а после завершения чтоб показывало...

Отображение прогресса операции
Здравствуйте, подскажите как реализовать. Есть progressBar в котором нужно отобразить статус завершения, я удаляю файлы из папки,...

Импорт записей из excel в SQL и ошибка "Выбранный XML файл некорректен, либо неполон"
Здравствуйте. Нужно таблицу excel перевести в базу данных excel Как это можно сделать? Пробовал через "Импорт" в...

Отображение прогресса копирования файлов
Как навесить прогрессбар на функцию копирования файлов, что бы было видно сколько скопировалось. Заранее благодарен Олег

Отображение прогресса загрузки файла
Как сделать, чтобы во время загрузки файла запускался прогресс бар?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru