У меня есть XML, содержащий информацию, полученную в результате сканирования систем в разных доменах. XML соответствует таблицам в базе данных, которые вложены следующим образом:
Domains
Computers
Volumes
Folders
Files
Моя цель - загрузить XML в соответствующие таблицы. Поскольку один единственный XML-файл был бы настолько большим, что его нельзя было бы загрузить в базу данных, мне пришлось разбить его на несколько частей меньшего размера. Как я могу отформатировать XML-файлы, чтобы загрузчик знал, что один файл является продолжением последнего файла, и он не генерировал дополнительные ключи для уже добавленного родительского узла. Есть ли у кого-нибудь опыт в этом? Это самый быстрый способ загрузки? Огромное спасибо! Вот код, который я использую для загрузки xml:
static void BulkLoadXML()
{
try
{
string sPath = @"C:\XMLFiles\";
string FileName, xsdPath, xmlPath;
FileName = "TestAuto";
xmlPath = sPath + FileName + ".xml";
xsdPath = sPath + FileName + ".xsd";
SQLXMLBULKLOADLib.SQLXMLBulkLoad4 objBL = new SQLXMLBULKLOADLib.SQLXMLBulkLoad4();
objBL.ConnectionString = @"Provider=sqloledb; server=srv1;database=MyTest;User ID=sa;Password=psw;Connection Timeout=60";
objBL.ErrorLogFile = "error.xml";
objBL.KeepIdentity = false;
objBL.Execute(xsdPath, xmlPath);
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
Console.Read();
}
Console.Read();
}