我有一個從文件加載的XmlDocument對象。C#中的XML到SQL中的varbinary列
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("C:\\myxml.txt");
我需要將此XML文檔轉換爲與SQL表中的varbinary兼容的格式。我怎樣才能做到這一點?
我有一個從文件加載的XmlDocument對象。C#中的XML到SQL中的varbinary列
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("C:\\myxml.txt");
我需要將此XML文檔轉換爲與SQL表中的varbinary兼容的格式。我怎樣才能做到這一點?
跳過加載XML文檔,然後通過只讀取該文件作爲編碼的開銷字節直接:
byte[] data = File.ReadAllbytes("C:\\myxml.txt");
上述用途System.IO
然後instert到SQL像這樣:
SqlCommand cmd = new SqlCommand("INSERT INTO myTable(myCol) VALUES(@file)", myDbConn);
cmd.Parameters.Add("@file", SqlDbType.VarBinary).Value = data;
cmd.ExecuteNonQuery();
您可以將XML保存到內存流,然後保存在您的varbinary
列生成的字節數組:
MemoryStream ms = new MemoryStream();
xmlDoc.Save(ms);
ms.Position = 0;
byte[] xmlData = ms.ToArray();
理想你應該切換到一個XML類型列,雖然如果可能的話(即SQL服務器)或只是nvarchar
。
+1我錯過了varbinary部分 –