У меня есть данные файла MDB, вставка в mdb работает нормально после вставки, размер файла Mdb, например: 200 МБ показывает, когда я открываю с MS Office и закрываю файл MDB, это уменьшает размер до 14 МБ. Как решить эту проблему
Мой код
ADOX.Catalog cat = new ADOX.Catalog();
ADOX.Table table = new ADOX.Table();
table.Name = "StickerData";
table.Columns.Append("Centercode", ADOX.DataTypeEnum.adVarWChar, 30);
table.Columns.Append("Centername", ADOX.DataTypeEnum.adVarWChar, 210);
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + dbPath + ";" + "Jet OLEDB:Engine Type=5");
cat.Tables.Append(table);
using (OleDbConnection oldbcon = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;" + "Data Source=" + dbPath + ";" + "OLE DB Services=-4"))
{
oldbcon.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
OleDbCommand oldbcmd = new OleDbCommand();
oldbcmd.Connection = oldbcon;
oldbcmd.CommandText = @"INSERT INTO StickerData([Centercode],[Centername])
VALUES (?,?)";
oldbcmd.CommandType = CommandType.Text;
oldbcmd.Parameters.AddWithValue("Centercode", reader["Centercode"].ToString());
oldbcmd.Parameters.AddWithValue("Centername", reader["Centername"].ToString());
oldbcmd.ExecuteNonQuery();
}
}
oldbcon.Close();
con.Close();
}
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(cat.Tables);
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(cat.ActiveConnection);
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(cat);