Для моего текущего проекта в c # мне нужно перенести данные из базы данных SQL в базу данных доступа. Сейчас я загружаю данные в DataSet с помощью SqlDataAdapter. После этого я перебираю записи и вставляю их в Access-DB, используя OleDb:
// Load data from SQL
DataSet ds = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter("select goes here", sqlConnection);
adapter.Fill(ds);
// Prepare the Insert Command
oleDBCommand = "Insert into...";
oleDBCommand.Parameters.Add(new OleDbParameter(...));
// Insert every row from the DataSet
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
// Update Parameters and Execute
oleDBCommand.Parameters[0].Value = ds.Tables[0].Rows[i].ItemArray[0];
oleDBCommand.ExecuteNonQuery();
}
Этот подход работает отлично, однако он кажется неуклюжим и медленным. Поэтому мне было интересно, есть ли другой лучший способ передачи данных из одной БД в другую.