17. september 2005 - 16:42Der er
8 kommentarer og 1 løsning
Data fra xml til Sql database tager for lang tid
Jeg ønsker at få nedsat tiden på at få uploadet data fra en xml fil. Det går rimeligt med små filer men når de bliver for store tager det meget lang tid. For 64000 rows tager det ca et minut bare for at få lagt xml filen ind i dataset´et Derefter for at lægge dataset´et videre op på sql serveren tager ingen tid.
Har i nogle gode forslag til hvordan det kan gøres hurtigere?
Her er hvad jeg har prøvet med:
SqlConnection connec = new SqlConnection(@"Data Source=(local);Integrated Security=SSPI;" + "Initial Catalog=AMI"); SqlDataAdapter SQLAdap = new SqlDataAdapter("select * from MEASUREMENT",connec); SqlCommandBuilder SQLBuilder = new SqlCommandBuilder(SQLAdap); DataSet DSFraSQL = new DataSet(); DSFraSQL.ReadXml(@"c:\MyXML.xml"); SQLAdap.Update(DSFraSQL);
Det går lige så langsomt at få den til at løbe igennem xml filen på den måde. Jeg ar fundet noget andet jeg godt kunne tænke mig at prøve, det var godt nok skrevet i vb.net og jeg ar lidt svært ved at gennemskue hvordan det skal laves helt korrekt i c# Det er meningen at man sender xml filen med til sql serveren som parameter og så lader serveren kovcerterer i en stored procedure.
MSXML2.DOMDocument40 objXMLDOM = new MSXML2.DOMDocument40(); ADODB.Connection connec = new ADODB.Connection(); ADODB.Command comm = new ADODB.Command(); objXMLDOM.async= false; objXMLDOM.load(@"C:\MyXML.xml");
System.Xml.XmlDocument bør kunne bruges fremfor MSXML2.DOMDocument40
og svar
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.