- 我想叫TestPack 3個coulmns表 - 姓名,測試用例編號,測試計劃
- 測試計劃是存儲在C盤我的電腦的xml文件
- 哪有我開始創建這張桌子?注意:我希望添加整個文件,而不是在第3列中寫入實際的xml代碼。
而且,我是相當新的ASP.NET,C#和Microsoft SQL服務器,讓饒我愚蠢的問題在Microsoft SQL Server添加XML爲表
而且,我是相當新的ASP.NET,C#和Microsoft SQL服務器,讓饒我愚蠢的問題在Microsoft SQL Server添加XML爲表
首先,你需要創建表後該
Create Table [MyTable] (ID int, [myXmlColumn] xml);
然後你需要使用sqlparameter插入數據
public static void InsertXMlDataIntoTableBySQLParameter()
{
using (SqlConnection sqlconnection = new SqlConnection(@"Data Source=.\SQLExpress;
Initial Catalog=MorganDB; Integrated Security=SSPI;"))
{
sqlconnection.Open();
// create table if not exists
string createTableQuery = @"Create Table [MyTable] (ID int, [myXmlColumn] xml)";
SqlCommand command = new SqlCommand(createTableQuery, sqlconnection);
command.ExecuteNonQuery();
//whateever xml data
string xmlData = "<XmlRoot><childNode></childNode></XmlRoot>";
string insertXmlQuery = @"Insert Into [MyTable] (ID,[myXmlColumn]) Values(1,@myXmlColumn)";
// Insert XMl Value into Sql Table by SqlParameter
SqlCommand insertCommand = new SqlCommand(insertXmlQuery, sqlconnection);
SqlParameter sqlParam = insertCommand.Parameters.AddWithValue("@myXmlColumn", xmlData);
sqlParam.DbType = DbType.Xml;
insertCommand.ExecuteNonQuery();
}
}
謝謝@Jagadeesh,但我沒有完全遵循它......但是,我認爲上面的代碼的確如此像下面的一樣。注意:下面的代碼運行良好。 「CREATE TABLE XMLwithOpenXML ( ID INT IDENTITY PRIMARY KEY, XMLDATA XML, LoadedDateTime DATETIME ) INSERT INTO XMLwithOpenXML(XMLDATA,LoadedDateTime) SELECT CONVERT(XML,BulkColumn)AS BulkColumn,GETDATE( ) FROM OPENROWSET(BULK'D:\ OpenXMLTesting.xml','SINGLE_BLOB)AS x; SELECT * FROM XMLwithOpenXML' – tjshah050291
H ow large是你的文件(X KB,X MB,X GB?)你確定不需要搜索XML內容嗎?爲什麼你不想把它作爲XML數據類型存儲?如果你真的不想存儲內容,是否存儲文件路徑的選項? –
嗯,是的,我確定我永遠不需要在xml中搜索,目的是基於前兩列訪問特定的xml文件,然後在UI上顯示該xml文件。 – tjshah050291
我寧願存儲整個xml而不是路徑....並且xml文件大小約爲70-100 kb – tjshah050291