繁体   English   中英

如何将表索引复制到ado.net中的另一个表

[英]How to copy table index to another table in ado.net

我在ado.net中使用SqlBulkCopy将一个表复制到另一个表。 代码是:

    using (sourceConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["OTPTestConnectionString"].ConnectionString))
    {
        sourceConnection.Open();

        // Get data from the source table as a SqlDataReader.
        SqlCommand commandSourceData = new SqlCommand("SELECT * FROM " + sourceTableName, sourceConnection);
        SqlDataReader reader = commandSourceData.ExecuteReader();

        using (destConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLExpressDatabaseConnectionString"].ConnectionString))
        {
            destConnection.Open();

            // Perform bulk copy
            using (SqlBulkCopy bulkCopy = new SqlBulkCopy(destConnection))
            {
                bulkCopy.DestinationTableName = destTableName;

                // Write from the source to the destination.
                bulkCopy.WriteToServer(reader);
            }
        }
        reader.Close();
...

它工作正常,但无法将原始表中的主键索引复制到新表中。 我想在Ado.net中进行操作。 谢谢。

我通过使用SqlBulkCopyOptions.KeepIdentity来弄清楚。 该代码是

        SqlBulkCopyOptions options = SqlBulkCopyOptions.KeepIdentity;
        using (SqlBulkCopy bulkCopy = new SqlBulkCopy(destConnection.ConnectionString, options))
        {
            bulkCopy.DestinationTableName = destTableName;
                // Write from the source to the destination.
            bulkCopy.WriteToServer(reader);
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM