2014-07-10 61 views
0

我有一個XML包含掃描系統在不同域上產生的信息。 XML對應於數據庫中嵌套的表格,如下所示:碎片化的XML批量加載到SQL Server中的C#

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(); 
    } 

回答