Импортируйте XML в базу данных SQL

Это та же конфигурация часов? 48 МГц USb clk нормально? Использование non crystal или ext osc для получения 48 МГц USB обычно приводит к проблеме при большом xfer Даже на F4 не может сказать для l4 Так что может показаться, что он работает с hid и довольно коротким пакетом, но начинает плохо себя вести для большего xfer

5
задан Jacob Lyles 7 April 2009 в 00:39
поделиться

5 ответов

Можно использовать getiterator () функция для итерации по XML-файлу, не анализируя все это сразу. Можно сделать это с ElementTree, который включен в стандартную библиотеку, или с lxml.

for record in root.getiterator('record'):
    add_element_to_database(record) # Depends on your database interface.
                                    # I recommend SQLAlchemy.
4
ответ дан 14 December 2019 в 09:00
поделиться

Смотрите на iterparse() функция от ElementTree или cElementTree (Я предполагаю, что cElementTree был бы лучшим, если можно использовать его),

Эта часть описывает более или менее, что необходимо сделать: http://effbot.org/zone/element-iterparse.htm#incremental-parsing

Это, вероятно, будет самым эффективным способом сделать это в Python. Удостоверьтесь, что не забыли звонить .clear() на соответствующих элементах (Вы действительно не хотите создавать в дереве памяти XML-файла на 20 ГБ: .getiterator() метод, описанный в другом ответе, немного более прост, но действительно требует целого дерева сначала - я предполагаю, что плакат на самом деле имел iterparse() в памяти также)

2
ответ дан 14 December 2019 в 09:00
поделиться

Это может быть общая задача, но возможно 20 ГБ не так распространены с MySQL, как это с SQL Server.

Я сделал это использование SQL Server Integration Services и немного пользовательского кода. Нужен ли Вам любой из тех, зависит от того, что необходимо сделать с 20 ГБ XML в базе данных. Будет им отдельный столбец одной строки таблицы? Одна строка на дочерний элемент?

SQL Server имеет тип данных XML, если Вы просто хотите сохранить XML как XML. Этот тип позволяет Вам делать запросы с помощью XQuery, позволяет Вам создавать индексы XML по XML и позволяет столбцу XML быть "со строгим контролем типов" путем обращения его к ряду XML-схем, которые Вы храните в базе данных.

0
ответ дан 14 December 2019 в 09:00
поделиться

Документация MySQL , похоже, не указывает, что импорт XML ограничен версией 6. Он по-видимому, работает и с 5.

0
ответ дан 14 December 2019 в 09:00
поделиться

Я несколько раз делал это с Python, но никогда с таким большим XML-файлом. ElementTree является превосходной библиотекой XML для Python, который был бы полезным. Если бы это было возможно, то я разделил бы XML на меньшие файлы, чтобы помочь загрузиться в память и синтаксический анализ.

1
ответ дан 14 December 2019 в 09:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: