如何将物理路径中的SQL Server表xml列数据保存为.xml格式?

时间:2015-02-18 09:57:37

标签: sql xml sql-server-2008 c#-4.0

我有一个sql server数据库表,其xml列名称为“MESSAGE”,它将存储xml数据。

数据库表看起来像,

enter image description here

现在我需要获取此“ MESSAGE ”列数据并将其作为xml文件保存到系统物理路径中(例如:test.xml等)

有任何建议如何使用c#.net?

实现这一点

1 个答案:

答案 0 :(得分:0)

你可以尝试这样的东西(使用普通的ADO.NET和一个非常基本的SQL查询):

    static void Main(string[] args)
    {
        // get connection string from app./web.config
        string connectionString = "server=.;database=yourDB;Integrated Security=SSPI;";

        // define query
        string query = "SELECT MESSAGE FROM dbo.SamTest WHERE ID = 1;";

        // set up connection and command
        using (SqlConnection conn = new SqlConnection(connectionString))
        using (SqlCommand selectCmd = new SqlCommand(query, conn))
        {
            // open connection, execute query to get XML, close connection
            conn.Open();
            string xmlContents = selectCmd.ExecuteScalar().ToString();
            conn.Close();

            // define target file name
            string targetFileName = @"C:\tmp\test.xml";

            // write XML out to file
            File.WriteAllText(targetFileName, xmlContents);
        }
    }