Estava com problema no banco de dados↳Banco de dados134 conteúdosSQL ou NoSQL: eis a questão!!Data · mar 2020Banco de dados: como organizar e dar segurança para milhões de dados de loteriasData · mai 20215 serviços gratuitos na cloud para bancos de dados PostgresData · fev 2025Ver tudo em Data → para celular. Fiz o banco de dados com o
SQL Server 2005 e, ao tentar conectar no Visual Studio.NET 2008, recebia um aviso que não era possível abrir devido à versão, pois a mesma deveria 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↳.NET113 conteúdosNovidades do .NET 9 – o tipo genérico OrderedDictionaryDev (Back & Front) · dez 2024Novidades .NET 10: novas formas de uso do .NET CLIDev (Back & Front) · dez 2025Novidades do .NET 5: implementando um proxy reverso com YARP + ASP.NET 5Dev (Back & Front) · nov 2020Ver tudo em Dev (Back & Front) → 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 o problema aparece ao tentar abrir o mesmo na
ferramenta de desenvolvimento. Caso não precise abrir no
VSTS 2008, não acontece 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, é possível utilizar
também um via Console Application.
Depois escrevi o seguinte código
(Code 1.1):
using System.Data.SqlServerCe;<br /><br />private void Form1_Load(object sender, EventArgs e)<br /><br />{<br /><br /> try{<br /><br /> SqlCeEngine conv = new SqlCeEngine(@"DataSource='C:\SeuBancoMobil.sdf'; Password='SuaSenha'");<br /><br /> conv.Upgrade(@"DataSource=C:\ProximoBancoMobile.sdf");<br /><br /> }<br /><br />}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 é só entrar em contato.







