我已经在 SQL Server 中有一些表,我正在编写一个 C# 程序来从一些平面文件中填充这些表。我打算使用 SQLBulkCopy 来加载表。

为SQLBulkCopy的每个DataTable定义所有列可能需要很多工作。从现有的 SQL Server 表的定义在 C# 中生成这些 DataTables 是一种简单的方法吗?

我不能使用 Bulk insertbcp 因为平面文件处于不同的奇怪布局,并且在插入之前必须通过一些 C# 代码解析它们。

最佳答案

如果您想要蛮力方法,您可以对每个表使用以下内容:

    DataTable dt = new DataTable();
    using (SqlConnection conn = new SqlConnection("Some SQLConnectionString")) {
        conn.Open();
        using (SqlDataAdapter adapter = new SqlDataAdapter("SELECT TOP 0 * FROM SomeTable", conn))
        {
            adapter.Fill(dt);
        };
    };
SELECT TOP 0 将只返回没有记录的表结构。

关于c# - 从 SQL 服务器表的架构自动定义 C# 中的 DataTable?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11749440/

10-11 22:52
查看更多