21

Muszę zaktualizować bazę danych SqlCE3.5 do wersji 4.0.Jak mogę uaktualnić bazę danych Sdf Sql Server CE 3.5 do Sql Server CE 4.0?

pojawia się następujący komunikat o błędzie, gdy próbuję uzyskać dostęp do mojego 3,5/sdf bazy danych za pomocą nowego połączenia CE4.0 zapewniamy: -

System.Data.EntityException: The underlying provider failed on Open. ---> System.Data.SqlServerCe.SqlCeInvalidDatabaseFormatException: The database file has been created by an earlier version of SQL Server Compact. Please upgrade using SqlCeEngine.Upgrade() method.

ktoś wie w jaki sposób mogę to zrobić? Oczywiście muszę to zrobić programowo, ale nie jestem pewien, co powinienem zrobić/jakie referencje muszę dodać, itp.

Pozdrawiam!

+1

Czy to nie oczywiste? Wywołanie 'SqlCeEngine.Upgrade()'! Czy jest jakiś problem? Zwróć także uwagę na niezgodności między różnymi wersjami. – leppie

+0

Wskazówka: proszę podać przykład kodu. Kiedy próbowałem jakiegoś kodu, nie mógł się on skompilować. –

+0

@leppie: i) Gdzie? W jakim kontekście? Z jakimi argumentami? ii) SqlCeEngine nie zawiera metody o nazwie Upgrade(). Wiadomość jest bezużyteczna. –

Odpowiedz

14

Zadzwoń pod System.Data.SqlServerCe.SqlCeEngine.Upgrade. Zobacz MSDN, który zawiera przykładowy kod.

8

Nie trzeba uaktualnić, gdy widzisz ten błąd:

The database file has been created by an earlier version of SQL Server Compact. Please upgrade using SqlCeEngine.Upgrade() method.

prosto:

  1. prawym przyciskiem myszy projektu w Solution Explorer
  2. wybierz Właściwości, przejdź do zakładki Referencje
  3. Zobaczysz odwołanie o nazwie: System. Data.SqlServerCe Type/net version/4.0 - usuń ten element (wybierz element, a następnie kliknij przycisk usuń w dolnej części tego okna).
  4. Kliknij przycisk "Dodaj ..." po lewej stronie przycisku "usuń"
  5. Na karcie .NET znajdź System.Data.SqlServerCe 3.5 i dodaj tę.
  6. Skompiluj swój projekt!

Myślę, że to zadziała.

+2

Tak, nie ma potrzeby aktualizacji, chyba że musisz. Jeśli nie znajdziesz System.Data.SqlServerCe na karcie .NET, dodaj odwołanie z C: \ Program Files \ Microsoft SQL Server Compact Edition \ v3.5 \ Desktop – Brij

+0

Ta rada jest dość arogancka: Wiele osób zaczyna od Visual Studio 2015 prawdopodobnie nie będzie miał wersji Vq.5 SqlServerCe na swoim komputerze. Jeśli masz zamiar zasugerować dodanie odniesienia do wersji 3.5, jakieś pomysły dla ludzi, jak uzyskać tę wersję, jeśli nie mają jej w swoim systemie? – Jazimov

+0

@Jazimov masz rację, ale odpowiedziałem na to pytanie 3 lata temu przed Twoim komentarzem iw 2013 było to całkiem normalne podejście. – zviad