Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SqlBulkCopy में कुछ कॉलम छोड़ें

DataTable table = new DataTable();
using (var adapter = new SqlDataAdapter(sourceCommand))
{
    adapter.Fill(table);
}

using (SqlBulkCopy bulk = new SqlBulkCopy(targetConnection, SqlBulkCopyOptions.KeepIdentity, null) { DestinationTableName = tableName })
{
    foreach (string columnName in GetMapping(stringSource, stringTarget, tableName))
    {
        bulk.ColumnMappings.Add(new SqlBulkCopyColumnMapping(columnName, columnName));
    }

    targetConnection.Open();
    bulk.WriteToServer(table);
}

private static IEnumerable<string> GetMapping(string stringSource, string stringTarget, string tableName)
{
    return Enumerable.Intersect(
        GetSchema(stringSource, tableName),
        GetSchema(stringTarget, tableName),
        StringComparer.Ordinal); // or StringComparer.OrdinalIgnoreCase
}

private static IEnumerable<string> GetSchema(string connectionString, string tableName)
{
    using (SqlConnection connection = new SqlConnection(connectionString))
    using (SqlCommand command = connection.CreateCommand())
    {
        command.CommandText = "sp_Columns";
        command.CommandType = CommandType.StoredProcedure;

        command.Parameters.Add("@table_name", SqlDbType.NVarChar, 384).Value = tableName;

        connection.Open();
        using (var reader = command.ExecuteReader())
        {
            while (reader.Read())
            {
                yield return (string)reader["column_name"];
            }
        }
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मेरे पहचान कॉलम के मानों में अंतराल क्यों हैं?

  2. उपयोगकर्ताओं को सभी डेटाबेस के लिए केवल-पढ़ने के लिए पहुँच कैसे प्रदान करें

  3. यदि टी-एसक्यूएल में रिकॉर्ड न्यूल है तो स्ट्रिंग को कैसे बदलें?

  4. SQL सर्वर में LEFT () बनाम SUBSTRING ():क्या अंतर है?

  5. मैं संग्रहीत प्रक्रिया में तालिकाओं की सूची कैसे प्राप्त कर सकता हूं?