Forum
See question

Erro ao migra v9 > v10 (datahoracarga)   

55 views
0
0

Ao migrar para a v10 ocorre um erro (ExecuteNonQuery failed for Database ‘PRIVIDROSGCP’. An exception occurred while executing a Transact-SQL statement or batch. Conversion failed when converting date and/or time from character string.)

Terá a ver com o facto dos campos da CabecDOC da datahoracarga e datahoradescarga serem alfanumericos e poderem conter horas inválidas.

O comando ver indica o seguinte script, mas não consigo executá-lo no Comando:

— END – Executa correcção de casos conhecidos

 

— DataHoraCarga

 

IF dbo.STD_FieldExists(‘CabecDoc’, ‘DataHoraCarga’) = 0

BEGIN

ALTER TABLE [CabecDoc] ADD [DataHoraCarga] Datetime NULL;

EXEC (‘UPDATE [CabecDoc] SET [DataHoraCarga]= (DATEADD(dd, DATEDIFF(dd, 0, dbo.SAFT_DevolveFormatoData(LTRIM(RTRIM(REVERSE(SUBSTRING(REVERSE(SUBSTRING(DataCarga, 1, LEN(DataCarga) – (LEN(DataCarga) – CASE WHEN CHARINDEX(”:”, DataCarga) = 0 THEN LEN(DataCarga) ELSE CHARINDEX(”:”, DataCarga) END))), CHARINDEX(” ”, REVERSE(SUBSTRING(DataCarga, 1, LEN(DataCarga) – (LEN(DataCarga) – CASE WHEN CHARINDEX(”:”, DataCarga) = 0 THEN LEN(DataCarga) ELSE CHARINDEX(”:”, DataCarga) END)))), LEN(REVERSE(SUBSTRING(DataCarga, 1, LEN(DataCarga) – (LEN(DataCarga) – CASE WHEN CHARINDEX(”:”, DataCarga) = 0 THEN LEN(DataCarga) ELSE CHARINDEX(”:”, DataCarga) END)))) + 1)))))), 0) + CONVERT(datetime,ISNULL(HoraCarga,”00:00:00”),20))’)

END

Faça login para poder traduzir
Primavera
Marked as spam
Criado há 4 anos e 3 meses hildebertorocha
hildebertorocha Most Valuable Professional
1 answers
0
Private answer

Ao executar o Setup & Go, deve ativar os diagnósticos na base de dados com erro, pois os mesmos identificam os documentos com os dados inválidos.

Será então necessário corrigir esses documentos, por exemplo:

update cabecdoc set HoraCarga='08:00' where TipoDoc='FA' and serie='2021' and NumDoc=1

 

Faça login para poder traduzir
Marked as spam
Criado há 4 anos e 3 meses carlamartins
c
carlamartins Responsiveness Member
    Comments
    Já tenho a identificação dos registos (identificados no processo do Setup & Go). A solução é executar 1359 scripts?????
    4 anos e 3 meses
    hildebertorocha
      Valide pf se consegue identificar um padrão que permita criar um filtro genérico que abranja o maior nr de registos possivel. Caso contrário sugiro que registe ticket no support space de forma a serem analisados os dados e melhor solução.
      4 anos e 3 meses
      carlamartins