首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多个表从SQL Server导出到XML以进行恢复

将多个表从SQL Server导出到XML以进行恢复
EN

Stack Overflow用户
提问于 2013-04-04 12:56:35
回答 2查看 4.2K关注 0票数 5

我在C# / ASP.NET中有一个web应用程序,我想用相同的唯一键(Company ID)导出所有数据库表的数据。所有的表都有这个键(每个公司都不一样)。为了将来的备份,我想这样做。是否可以使用Linq或经典的C#?如何实现这种备份和恢复?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-04 14:06:12

该解决方案的一个示例是

代码语言:javascript
复制
using System.Data.SqlClient;
using System.Data;
using System.IO;

namespace ConsoleApplication4
{
class Program
{
    static void Main(string[] args)
    {
        var connStr = "Data Source=MOHSINWIN8PRO\\SQLEXPRESS;Initial Catalog=AB2EDEMO;Integrated Security=True";
        var xmlFileData = "";
        DataSet ds = new DataSet();
        var tables = new[] {"Hospital", "Patient"};
        foreach (var table in tables)
        {

            var query = "SELECT * FROM "+ table +" WHERE (Hospital_Code = 'Hosp1')";
            SqlConnection conn = new SqlConnection(connStr);
            SqlCommand cmd = new SqlCommand(query, conn);
            conn.Open();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(ds);
            conn.Close();
            conn.Dispose();
            xmlFileData+=ds.GetXml();
        }
        File.WriteAllText("D://SelectiveDatabaseBackup.xml",xmlFileData);
    }
}

}

这将创建SelectiveDatabaseBackup.xml,稍后可将其用于恢复备份

票数 2
EN

Stack Overflow用户

发布于 2014-07-14 23:20:36

代码语言:javascript
复制
               SaveFileDialog SD = new SaveFileDialog();
                if (SD.ShowDialog() != System.Windows.Forms.DialogResult.Cancel)
                {
                    System.IO.StreamWriter SW = new System.IO.StreamWriter(SD.FileName);
                    foreach (string str in checkedListBox1.CheckedItems)
                    {
                        string XMLSTR = //Heads.funtions.ConvertDatatableToXML(
                                        Heads.funtions.fire_qry_for_string(string.Format("Select * from {0} FOR XML AUTO,TYPE, ELEMENTS ,ROOT('{0}')", str)); // , str);
                        SW.Write(XMLSTR);
                        SW.WriteLine("###TABLEEND###");
                    }
                    SW.Close();
                    //_CommonClasses._Cls_Alerts.ShowAlert("Clean Up Completed...!!!", "CleanUP", MessageBoxIcon.Information);
                }
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15802812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档