¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

¡Acceso SAP S/4HANA desde $100!

Acceso a SAP

Problema de Erro do Conector de Banco de Dados 8114 no Crystal 2008 SP2: Soluções e Causas

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 55 Vistas
0
Cargando...

Recentemente realizamos a atualização do Crystal 2008 SP2 e esta manhã nos deparamos com algo bastante estranho.

Temos cerca de 50 relatórios e os testamos após a atualização SP2. NOTA: NENHUM desses relatórios foi alterado, nem seus Procedimentos Armazenados foram modificados em mais de um ano. Em outras palavras, este é o mesmo código e relatórios que funcionavam bem no dia anterior à atualização SP2, mas depois de fazê-lo...

UM relatório não funciona e continuamente produz "Erro do conector de banco de dados 8114", sendo o 8114 um erro de SQL produzido quando há problemas na tradução de dados de data. Não alteramos quaisquer dados de data, e os outros 49 relatórios são executados corretamente acessando os mesmos dados aos quais este relatório acessa.

Acessei o Designer Crystal do Visual Studio e fiz uma Verificação de Relatório. Para minha surpresa, recebi a mensagem "usp_rpt_ErrorSummary foi alterado, procedendo à correção do relatório" - DE FATO, esse Procedimento Armazenado NÃO foi alterado de forma alguma. Pior ainda, após a Verificação ser executada, diz "O relatório está atualizado". PORÉM, ao tentar executar o relatório, recebemos o MESMO erro novamente.

Fizemos esse ciclo cerca de cinco vezes, e a cada vez a mesma coisa: o Relatório foi alterado, corrigimos e explode com o mesmo erro.

Agora aqui está a PARTE IMPORTANTE... Isso ocorre em uma ÚNICA máquina: a máquina de compilação onde fizemos a atualização SP2. Se movemos o mesmo relatório para outra máquina (sem a atualização SP2), o relatório é executado corretamente. Sem erros.

Portanto, há realmente dois problemas aqui:

#1, Por que, quando executamos uma Verificação e diz "O relatório está atualizado", então volta e explode novamente,

#2, Por que esse relatório seria executado corretamente em QUALQUER máquina contanto que NÃO tenha a atualização SP2?

Qualquer ajuda é apreciada.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá Don...

Descartaria a corrupção do relatório porque restauramos o relatório original a partir dos backups e, novamente, está funcionando bem em cada máquina, exceto na máquina com a atualização SP2.

Se executarmos a consulta por si só, sim, obtemos uma grande quantidade de dados, então sei que a consulta está correta, e como mencionei, não foi alterada em mais de um ano.

Quando você pergunta "verificar a configuração local dos usuários..." Sim, boa ideia, mas é apenas em uma máquina onde estamos tendo problemas com isso, e essa configuração está correta, normal, como deveria ser.

E não, não temos SP2 em nenhuma máquina, exceto em uma, que chamamos de nossa máquina de desenvolvimento/compilação, e é o único lugar onde este relatório está nos causando problemas.

Acho que sua sugestão de desmembrar o relatório "pouco a pouco" é boa. Vou designar um de meus colaboradores para fazer isso e informá-lo sobre os resultados. No entanto, pode levar um ou dois dias.

Obrigado!

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Bruce,

Isso é estranho, a corrupção do arquivo de relatório pode estar causando o problema. O que acontece se você copiar um relatório de um PC onde funciona e tentar novamente?

A discrepância do relatório indica que o que o Crystal Reports salvou no arquivo RPT não corresponde ao que está no banco de dados atualmente. Respeitamos totalmente a segurança do banco de dados, possivelmente esse usuário não tem permissões de leitura definidas em uma ou mais tabelas. Como sugerido, tente remover partes do relatório para identificar qual é o objeto real causando o problema.

De acordo com a Microsoft, o erro:

Se a mensagem de erro se refere tanto a DBTYPE_DATE quanto a datetime, respectivamente, essa mensagem de erro indica que uma coluna do tipo de dados DBTYPE_DATE do OLE DB de uma tabela remota não pôde ser convertida em um valor datetime no Microsoft SQL Server. A coluna DBTYPE_DATE provavelmente possui um valor fora do intervalo aceito pelo tipo de dados datetime (os valores datetime devem estar entre 1 de janeiro de 1753 e 31 de dezembro de 9999). Como o intervalo de valores do tipo de dados DBTYPE_DATE é maior que o do tipo de dados datetime do SQL Server, esses erros podem ocorrer se a coluna contiver valores fora do intervalo aceito pelo SQL Server.

Se mostrar a consulta, você vê os dados no SQL?

Verifique as configurações de data e hora local dos usuários, pode ser que esteja utilizando uma opção ou configuração regional que outros não estão usando e o Crystal Reports está tentando converter, mas não consegue. Também pergunte se houve alguma alteração nas configurações de data em seu PC também.

Tem o SP2 instalado em algum outro lugar onde esteja funcionando?

Obrigado

Don

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Don,

Não, isso é o que torna tão estranho neste caso: o banco de dados é SQL 2005 e NÃO há datetimes no relatório DE FORMA ALGUMA. O único DateTime envolvido está nos parâmetros passados, você sabe, tipo Data Inicial, Data Final. Mas novamente, é SQL 2005, então realmente nada deveria ter mudado, e como mencionei em minha postagem original, este é um relatório e um procedimento armazenado que não foi modificado em mais de um ano, se não mais.

Ainda mais estranho, os parâmetros para nossos mais de 50 relatórios são os mesmos em todos os casos, e cada outro relatório é executado corretamente, apenas este parece travar com o famoso erro 8114, que é um erro de tipo de conversão no lado do SQL e ocorre apenas na máquina de desenvolvimento/compilação, a ÚNICA máquina que recebeu a atualização SP2. Não consigo imaginar o que está acontecendo aqui, mas deve ter algo a ver com a atualização SP2, já que é o único elemento "novo" na equação.

Sei que não estou te dando muito para trabalhar aqui...

Pode comentar algo sobre por que quando executamos Verificar Banco de Dados, percebe que algo mudou (embora na realidade nada tenha mudado) e então diz "prosseguindo para corrigir o relatório" (o que aparentemente faz), e no entanto, da próxima vez que o executamos na máquina atualizada com SP2, mesmo problema - erro 8114 - como se Verificar Banco de Dados na verdade não estivesse fazendo nada.

(Gostaria de resolver esse problema, mas não é uma crise: este relatório e todos os outros são executados perfeitamente em cada máquina que testamos que não possui a atualização SP2, então acho que por enquanto, bem, como eu disse, não é uma crise urgente, apenas um mistério maldito!)

Obrigado pela ajuda.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Bruce,

Qual é o seu banco de dados? Se for MS SQL Server 2008, instale o Fix Pack 2.2. Mude porque o CR não reconhece o novo driver MS SQL 2008 e gera SQL genérico para datas.

Se você olhar o SQL em Mostrar Consulta SQL no designer, verá algo como:

"Northwind"."dbo"."Vendas de Funcionários por País";1 CONVERTER(DATA, '2009-08-18 10:24:02', 120),..CONVERTER(DATA, '2009-08-18 10:24:02', 120)

O problema está no CONVERTER, o SQL deve parecer assim:

"Northwind"."dbo"."Vendas de Funcionários por País";1 {ts '2009-08-17 10:38:20'}, {ts '2009-08-18 10:38:23'}

Se isso não resolver o problema, você pode começar a excluir partes do relatório, começando com sub-relatórios e passando para seções completas de uma vez para ver se é algum objeto do relatório ou alguma tabela de origem de dados que está causando o problema?

Também preciso saber se você está usando ODBC ou OLE DB como driver de banco de dados.

Obrigado

Don

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeconsultor.com

+1 (305) 285-8622

© 2025 Todos los derechos reservados.

Desarrollado por Prime Consultor

¡Hola! Soy Diana, asesora académica de Prime Consultor, indícame en que Academia SAP estás interesado, saludos!
Hola ¿Buscas Academias SAP?