 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
luanac_rocha Novato

Registrado: Sexta-Feira, 2 de Junho de 2017 Mensagens: 1
|
Enviada: Sex Jun 02, 2017 12:17 am Assunto: Problema com migração de banco de dados SQL e BDE |
|
|
Boa Noite,
A empresa onde trabalho tem algumas aplicações legadas criadas em Delphi 6. A conexão é feita via BDE e o banco de dados é SQL Server 2008.
Estamos migrando o SQL Server para versão 2016, onde o “compatibility level” mínimo das bases de dados é 100 (SQL 2008).
Nos testes que estamos realizando nos deparamos com o erro ao tentar executar algumas rotinas dentro das aplicações Delphi:
“General SQL Error” “Incorrect syntax near ‘*=’”
Pelo que conseguimos identificar, o problema ocorre por esse tipo de notação, que não segue o padrão ANSI, não ser mais aceita pelo SQL Server: (http://www.devsuperpage.com/search/Articles.aspx?G=2&ArtID=80752)
Procuramos na aplicação e não encontramos nenhum lugar onde o operador *= era utilizando.... Debugando a aplicação chegamos a conclusão que um “data module” monta automaticamente uma consulta ao banco de dados na tabela sysobjects usando um join seguindo o padrão não ANSI, gerando o erro mencionado acima, ou seja, o erro não é disparado por nenhuma query criada pelo desenvolvedor da aplicação, mas sim por alguma instrução montada automaticamente pelo data module.
Gostaria de saber:
- Alguém já passou por este problema?
- Existe alguma forma de configurar o BDE (ou o Data Module dentro do Delphi) para que as consultas sejam criadas usando o padrão ANSI?
Vi alguns links falando sobre trocar o BDE pelo BDExpress ou FireDAC, porém ainda não sabemos quão complexa seria esta migração.... ou mesmo se seria a solução para o problema mencionado acima.
Todas as dicas e informações adicionais serão de grande ajuda. Desde já obrigada.
Atenciosamente,
Luana |
|
| Voltar ao Topo |
|
 |
cidnazareth Novato

Registrado: Sábado, 17 de Junho de 2017 Mensagens: 12
|
Enviada: Ter Jun 20, 2017 10:07 am Assunto: Re: Problema com migração de banco de dados SQL e BDE |
|
|
| luanac_rocha escreveu: | Boa Noite,
A empresa onde trabalho tem algumas aplicações legadas criadas em Delphi 6. A conexão é feita via BDE e o banco de dados é SQL Server 2008.
Estamos migrando o SQL Server para versão 2016, onde o “compatibility level” mínimo das bases de dados é 100 (SQL 2008).
Nos testes que estamos realizando nos deparamos com o erro ao tentar executar algumas rotinas dentro das aplicações Delphi:
“General SQL Error” “Incorrect syntax near ‘*=’”
Pelo que conseguimos identificar, o problema ocorre por esse tipo de notação, que não segue o padrão ANSI, não ser mais aceita pelo SQL Server: (http://www.devsuperpage.com/search/Articles.aspx?G=2&ArtID=80752)
Procuramos na aplicação e não encontramos nenhum lugar onde o operador *= era utilizando.... Debugando a aplicação chegamos a conclusão que um “data module” monta automaticamente uma consulta ao banco de dados na tabela sysobjects usando um join seguindo o padrão não ANSI, gerando o erro mencionado acima, ou seja, o erro não é disparado por nenhuma query criada pelo desenvolvedor da aplicação, mas sim por alguma instrução montada automaticamente pelo data module.
Gostaria de saber:
- Alguém já passou por este problema?
- Existe alguma forma de configurar o BDE (ou o Data Module dentro do Delphi) para que as consultas sejam criadas usando o padrão ANSI?
Vi alguns links falando sobre trocar o BDE pelo BDExpress ou FireDAC, porém ainda não sabemos quão complexa seria esta migração.... ou mesmo se seria a solução para o problema mencionado acima.
Todas as dicas e informações adicionais serão de grande ajuda. Desde já obrigada.
Atenciosamente,
Luana |
Bom dia Luana,
lendo alguns posts me deparei com o seu e me interessei bastante. Participei de várias migrações de Compatibility Level, porém nunca utilizando Delphi, talvez por isso nunca tenha passado por este problema.
Certamente é o BDE que faz estes acessos já que na aplicação não existem notações do tipo (*=, =* ). Acredito que as opções são o DBExpress ou SQL-Direct mas mas vai demandar ajustes e testes na aplicação.
Como o post é um pouco antigo, me diga qual caminho vocês seguiram ?
Se puder ajudar de alguma forma, estou a disposição. |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|