Search code examples
sql-serversql-server-cesqlbulkcopy

Can SqlBulkCopy be used with a SQL Server Compact database?


I have a live database and a local database and I want to copy a large amount of data in my live database using (SqlClient) to my local database (SqlServerCe - SQL Server CE database). How can I do that?


Solution

  • Yes, I have a SqlCeBulkCopy library/Nuget package that you can use:

    https://github.com/ErikEJ/sqlcebulkcopy

    Sample code:

    using ErikEJ.SqlCe;
    
    private static void DoBulkCopy(bool keepNulls, IDataReader reader)
    {
        SqlCeBulkCopyOptions options = new SqlCeBulkCopyOptions();
        if (keepNulls)
        {
            options = options |= SqlCeBulkCopyOptions.KeepNulls;
        }
        using (SqlCeBulkCopy bc = new SqlCeBulkCopy(connectionString, options))
        {
            bc.DestinationTableName = "tblDoctor";
            bc.WriteToServer(reader);
        }
    }