title: SqlBulkCopy issues
body: <p>Is anyone aware of issues with using SqlBulkCopy when being executed from code on a SqlExpress database?</p>
  
  <p>I have a full instance of SQL Server 2008 and also an instance of SQL Server 2008 Express.  The full instance installed on a server, and the express instance installed locally on a test machine.  Whenever I run my application (which uses the following code) using the Server Connection String it executes just fine and I can see the newly inserted rows and informational messages.  But whenever I run my application using the Local Sql Express connection string nothing happens and I get no messages, or table rows inserted.  This is a desktop application installed on the test machine (same machine that running Sql Express)</p>
  
  <p>This really has me stumped because I've got it all in try catch blocks but no exception is being thrown. It just seems like it doesn't execute. Please advise! Thanks</p>
  
  <p>Here is my code:</p>
  
  <pre><code> public static bool BulkInsertReminders(DataTable dtReminders)
      {
          bool success = false;
          string sql = "user id=" + DBEntries.DBUser + ";password=" + DBEntries.DBPassword + ";server=" + DBEntries.DBHost + ";database=" + DBEntries.LocalDB + ";Encrypt=YES;TrustServerCertificate=true";
          MessageBox.Show("Insert Rows Count: " + dtReminders.Rows.Count);
          using (SqlConnection msSQL = new SqlConnection(sql))
          {
              SqlTransaction copy = null;
              SqlCommand commandRowCount = new SqlCommand("SELECT COUNT(*) FROM " + "dbo.reminders", msSQL);
              try
              {
                  msSQL.Open();
                  copy = msSQL.BeginTransaction();
                  using (SqlBulkCopy load = new SqlBulkCopy(msSQL, SqlBulkCopyOptions.TableLock, copy))
                  {
                      load.BulkCopyTimeout = 15;
                      load.ColumnMappings.Add("reminder_id", "reminder_id");
                      load.ColumnMappings.Add("creation_date", "creation_date");
                      load.ColumnMappings.Add("created_by", "created_by");
                      load.ColumnMappings.Add("sent", "sent");
                      load.ColumnMappings.Add("sent_by", "sent_by");
                      load.ColumnMappings.Add("sent_date", "sent_date");
                      load.DestinationTableName = "dbo.reminders";
                      load.WriteToServer(dtReminders);
                      success = true;
                      commandRowCount.Transaction = copy;
                      int totalRows = Convert.ToInt32(commandRowCount.ExecuteScalar());
                      MessageBox.Show("New Table Row Count: " + totalRows + Environment.NewLine + "Rows Before Insert: " + (totalRows - dtReminders.Rows.Count));
                  }
              }
              catch (Exception exc)
              {
                  MessageBox.Show("Error - Issues adding reminders information to database.", "Contact Support");
                  email err = new email();
                  err.sendErrorEmail(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name.ToString() + "." + System.Reflection.MethodBase.GetCurrentMethod().Name.ToString(), exc.Message, exc.Data, exc.StackTrace);
                  success = false;
                  copy.Rollback();
              }
  
          }
          return success;
      }
  </code></pre>