Aplicação Java com migração SQL Server 2005 p/ 2008

Pessoal estou com o seguinte problema.

Hoje na minha aplicação Java com consulta a um banco sql server 2005 eu executo a seguinte query:

  • select nome, dt_nascimento from tab_cadastro where dt_nascimento >= ‘1986-01-25’ : no formato ‘aaaa-mm-dd’

A mesma query no banco sql server 2008 só funciona assim:

  • select nome, dt_nascimento from tab_cadastro where dt_nascimento >= ‘1986-25-01’ : no formato ‘aaaa-dd-mm’

O que não entendo é que a estrutura de ambos os bancos é identico quando abro a tabela tab_cadastro:

nome dt_nascimento
João 30/01/1980 00:00:00
José 22/02/1987 00:00:00
Tião 30/01/1990 00:00:00

o que preciso é fazer a aplicação ler os dados da mesma forma sem ter que me preocupar com qual dos dois bancos esteja conectado, ele deve ficar “multi-db”. Talvez seja alguma propriedade no banco ou direto na tabela ou função com format no código.

espero ter criado o tópico no local certo, se alguém conhece esta situação ou tem a solução desde já agradeço.

Usa PreparedStatement e este método.

Obrigado pmlm, consultando a equipe aqui essa solução funcionaria porém é um grande impacto na aplicação.

Alguém tem uma solução de BD ?

Att

Pessoal problema resolvido.

O BD SQL Server 2005 esta com o idioma inglês e o 2008 foi instalado em português.

Seguindo os comandos ficou ok:

USE master
SELECT * FROM SYSLANGUAGES

USE ‘nome da tabela’

SELECT @@language, @@langid

EXEC sp_configure ‘default language’, 0

EXEC sp_defaultlanguage ‘sa’, ‘us_english’

RECONFIGURE

att,