Banco de Dados - SQL Server

SQLEngine Utilizando Upgrade

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

por Mauricio Junior



            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, falava que não podia abrir devido a versão, pois a mesma devia ser atualizada.

            O objetivo desse pequeno artigo é converter o banco de dados na versão antiga para a versão nova, ou seja, a 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 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 e 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.

Mauricio Junior

Mauricio Junior - Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; . Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna e sou editor do Linha de Código.
Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A.
Blog:
blog.mauriciojunior.org
Site pessoal: www.mauriciojunior.org