Ich möchte Daten von SQL Server zu SQLite verschieben. Was ich tue, ist zuerst die Daten von SQL Server auf dataset
zu verschieben und dann von dort in die SQLite-Tabelle zu verschieben.Einfügen von Daten von SQL Server zu SQLite
Folgendes ist der Code, der das tut. Ich glaube, es kann effizienter
try
{
using (SqlConnection sqlConnection = new SqlConnection(DataSources.RemoteConnectionString()))
{
sqlConnection.Open();
using (SqlCommand sqlCommand = new SqlCommand("[DB7934_businessmind].[DownloadAreaOfLaw]", sqlConnection))
{
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.Parameters.AddWithValue("@AoLId", aolid);
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();
sqlDataAdapter.SelectCommand = sqlCommand;
sqlDataAdapter.Fill(aolDataSet.TempAoL);
if (aolDataSet.TempAoL.Rows.Count > 0)
{
using (SQLiteConnection sqliteConnection = new SQLiteConnection(DataSources.LocalConnectionString()))
{
sqliteConnection.Open();
using (SQLiteCommand sqliteCommand = new SQLiteCommand(sqliteConnection))
{
foreach (Models.AoLDataSet.TempAoLRow r in aolDataSet.TempAoL.Rows)
{
sqliteCommand.CommandText = "INSERT INTO AreaOfLaw(AoLId, AreaOfLawTitle) VALUES(@AoLId, @AreaOfLawText)";
sqliteCommand.Parameters.AddWithValue("@AoLId", r.AoLId);
sqliteCommand.Parameters.AddWithValue("AreaOfLawText", r.AreaOfLawTitle);
sqliteCommand.ExecuteNonQuery();
}
sqliteCommand.Dispose();
}
sqliteConnection.Close();
}
}
}
sqlConnection.Close();
}
}
catch (Exception ex)
{
MessageBox.Show("An error has occurred while downloading Areas Of Law from the cloud, the original error is: " + ex.Message, "Area Of Law", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Danke im Voraus
Es gibt etwa 2000 Datensätze zum Download. Es dauert einige Sekunden, um von der SQL Server-Datenbank in das Dataset zu kopieren, aber dauert ungefähr 20 Minuten, um sie vom Dataset in die SQLite-Tabelle zu verschieben. – Bainn
Sind die Tabellen mit der gleichen Struktur? Was ist der gespeicherte Prozedurcode? –
Ja, die Tabellen haben die gleiche Struktur. Unten ist die gespeicherte Prozedur in SQL Server, die die Daten auswählt, die in das Dataset heruntergeladen werden. Wo kann ich den Code erneut hinzufügen? – Bainn