J'ai écrit le contenu d'une table dans ma base de données sur le disque en utilisant la fonction suivante.Sérialiser/désérialiser DataSet (comme un moyen de sauvegarder mes données)
private static Stream GetTableAsBinary(string table, OleDbConnection oleDbConnection)
{
var oleDbDataAdapter = new OleDbDataAdapter(string.Format("select * from {0}", table), oleDbConnection);
var dataSet = new DataSet();
oleDbDataAdapter.Fill(dataSet, table);
dataSet.RemotingFormat = SerializationFormat.Binary;
var format = new BinaryFormatter();
var memStream = new MemoryStream();
format.Serialize(memStream, dataSet);
return memStream;
}
Le but de cette fonction est de faire une sauvegarde de la table.
Maintenant, je veux faire l'inverse: lire la table dans une base de données (vide). J'ai cherché et essayé quelques choses, mais je n'ai toujours pas réussi. Avant de me dire qu'il existe d'autres façons de faire une sauvegarde: Quelques dizaines de clients sauvegardent déjà leur base de données en utilisant la méthode ci-dessus, j'ai donc besoin d'une fonction inverse. Et ne me dites pas que ce n'est pas possible :)
Arrêtons de parler de « sauvegardes "Http://www.joelonsoftware.com/items/2009/12/14.html – Andomar
Merci, vous me rendre nerveux :) –