Aktualizacja bazy danych

Najnowsza wersja Sql Server Compact Edition nosi numer 3.5 taki sam jak .NET Framework, co jest naprawdę miłe. Pomyślmy przecież, mógł on zostać ochrzczony numerkiem takim jak np. 3.79 i jeśli weźmiemy pod uwagę długą historię zmian, nazw tegoż produktu - moglibyśmy mieć problem ze spamiętaniem tego wszystkiego. Tą nieco sarkastyczną dygresją, odbiegłem od tematu, który chciałem poruszyć. Otóż wersja 3.1 (i wcześniejsze) nie są kompatybilne z wersją 3.5 Sql Server Compact Edition a wszelkie próby otwarcia definitywnie zakończą się fiaskiem. Aby więc wykorzystać aktualnie istniejące bazy musimy je zaktualizować. Możemy to zrobić w dwojaki sposób, po pierwsze możemy skorzystać z narzędzia update.exe, które jest dostarczane razem z instalacją SQL Server CE (przykładowo dla WM5 z procesorem ARM program domyślnie znajduje się tutaj: c:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\armv4i\) lub zrobić to z poziomu kodu. Ponieważ korzystanie z aplikacji ‘konsolowych’ w Windows Mobile jest nieco utrudnione, wybrałem łatwiejszą drogę:

string path = Path.GetDirectoryName(
                Assembly.GetExecutingAssembly().GetName().CodeBase)
                + “\\LangLearn.sdf”;

string conn = string.Format(“Data Source={0};”, path);
using(SqlCeEngine engine = new SqlCeEngine(conn))
{
    engine.Upgrade(conn);
}

I gotowe, nasz plik sdf został zaktualizowany.

Napisz odpowiedź