Olá pessoal, estava com problema no banco de dados para celular. Fiz o banco de dados com o SQL Server 2005 e ao tentar conectar no Visual Studio.NET 2008, fala que não pode abrir devido a versão, pois a mesma deve ser atualizada.

            O objetivo desse pequeno artigo é converter o banco de dados na versão antiga para a versão nova, ou seja, que abre no VSTS 2008.

 

Referência:

Banco de dados SQL Server 2005

Visual Studio .NET 2008

SQL Server CE for Windows Mobile

Linguagem C#.NET

 

            Fiz um banco de dados SQL Server CE com a ferramenta SQL Server 2005. (Referência: 1.1)

Referência: 1.1

 

            O grande problema de criar o banco de dados pela ferramenta SQL Server 2005 é que, ao tentar abrir o mesmo na ferramenta de desenvolvimento o problema aparece. Caso não precise abrir no VSTS 2008, não tem problema nenhum.

            Tentei conectar no banco via linha de código e apareceu o mesmo erro falando que não poderia conectar devido à versão antiga do banco. Resumindo, tinha que usar um tal de SQLCeEngine para converter para versão atual. (Referência 1.2)

 

Referência: 1.2

 

            Estudando um pouco o SQLCeEngine, percebi que é muito simples fazer essa conversão no momento de compilação ou em outros momentos. Decidi não arriscar e fazer antes do que no momento de compilação, todo mundo já ouviu falar na Lei de Murphy [http://pt.wikipedia.org/wiki/Lei_de_Murphy] na área de informática.

 

Código

            O código é particularmente simples de fazer e utilizar. Criei um aplicativo do tipo Windows Forms, lembrando que não precisa ser especificamente esse tipo de aplicativo; ou seja; pode utilizar também um via Console Application.

            Depois escrevi o seguinte código: (Code 1.1)

 

 

 

using System.Data.SqlServerCe;

private void Form1_Load(object sender, EventArgs e)

{

     try{

         SqlCeEngine conv = new SqlCeEngine(@”DataSource=’C:\SeuBancoMobil.sdf’; Password=’SuaSenha’”);

         conv.Upgrade(@”DataSource=C:\ProximoBancoMobile.sdf”);

     }

}

 

Code 1.1

 

Explicação do Código

 

            Primeiro de tudo, importei o System.Data.SqlServerCe na classe, depois no método Load, instanciei a classe SqlCeEngine passando como parâmetro o endereço do banco de dados antigo com a senha. Depois usei a variável criada acima, ponto o método chamado Upgrade passando o caminho do novo banco de dados a ser criado.

 

Bom, espero que tenham gostado.

Qualquer dúvida, pode entrar em contato pelo link ou contato do autor no site.