У меня есть как минимум 100 xml-файлов, каждый размером около 300 МБ, с сообщениями электронной почты в основном в формате, указанном ниже.
Теперь мой вопрос: как мне получить эти данные, скажем, в базу данных SQL Sever, чтобы я мог выполнить запрос к этим данным? Мои запросы будут выглядеть следующим образом: отправил ли определенный человек электронное письмо другому определенному человеку в определенный период с определенными ключевыми словами по теме / телу и т. Д.
Вот что я пробовал:
1) Загрузка каждого файла XML в поле типа данных XML в SQL Server. При таком подходе я не мог придумать запросы Xpath (?), Чтобы сделать то, что мне нужно. Возможно ли вообще сделать это в Xpath?
2) Загрузка каждого файла в .NET DataSet с использованием ReadXML и ReadSchema. Кажется, это нормально загружается, и создается правильное число DataTable с внешними ключами и т. Д., Но это будет означать, что мне придется создать 100 наборов таблиц в базе данных. Каким-то образом объедините все в одну таблицу и выполните запрос.
Дайте мне знать, если у вас, ребята, есть другие предложения.
Спасибо.
<Message>
<MsgID>4651286700000CAA00EF00010000</MsgID>
<MsgTime>2007-05-21-01.04.39.000000</MsgTime>
<MsgTimeUTC>1179723879</MsgTimeUTC>
<MsgLang>CODE 1252</MsgLang>
<Sender>
<UserInfo>
<FirstName>X</FirstName>
<LastName>Y</LastName>
<AccountName>121212</AccountName>
<CorporateEmailAddress>someone@somewhere.com</CorporateEmailAddress>
</UserInfo>
</Sender>
<Recipient DeliveryType = " ">
<UserInfo>
<FirstName>A</FirstName>
<LastName>B</LastName>
<FirmNumber>7593</FirmNumber>
<AccountName>STRATEGIC AS</AccountName>
<AccountNumber>604806</AccountNumber>
<CorporateEmailAddress>A@B.COM</CorporateEmailAddress>
</UserInfo>
</Recipient>
<Subject>
Please review the following
</Subject>
<Attachment>
<FileName>37715772.htm</FileName>
<FileID>503242486522279_37715772.htm</FileID>
<FileSize>31175</FileSize>
</Attachment>
<MsgBody>
This is the message Body
</MsgBody>