Fórum Erro :quot; ...... conversion error from string quot;0quo #56484

10/07/2006

0

Pessoal este erro acontece quando tento ´rodar´ a seguinte procedure...

CREATE PROCEDURE SELECT_ULT_MANUT( I_COD_OS CHAR(15)) RETURNS ( C_DATA DATE, C_DATA_ULT_MANUT CHAR(10)) AS begin select MAX(C_DATA_PREVISAO) from CM0100 where C_COD_OS = :I_COD_OS into :C_DATA; if (:C_DATA = 0) then begin C_DATA_ULT_MANUT = ´1ª MANUTENÇÃO´; end else begin C_DATA_ULT_MANUT = cast(C_DATA as VARCHAR(10)); end end


erro :

Overflow occurred during data type conversion. conversion error from string ´0´.


Alguém sabe o pq deste erro ?????


Cabelo

Cabelo

Responder

Posts

13/07/2006

Aroldo Zanela

Colega,

Verifique se o CharSet foi definido como ISO8859_1. Parece que não!


Responder

Gostei + 0

13/07/2006

Cabelo

Realmente não...

eu defino o charset win1252

já resolví o problema... estava usando 0 ao invés de null

CREATE PROCEDURE SELECT_ULT_MANUT( I_COD_OS CHAR(15)) RETURNS ( C_DATA DATE, C_DATA_ULT_MANUT CHAR(10)) AS begin select MAX(C_DATA_PREVISAO) from CM0100 where C_COD_OS = :I_COD_OS into :C_DATA; if (:C_DATA [color=red:6f34e1bb8d]is null[/color:6f34e1bb8d]) then begin C_DATA_ULT_MANUT = ´1ª MANUTENÇÃO´; end else begin C_DATA_ULT_MANUT = cast(C_DATA as VARCHAR(10)); end suspend; end


vc acha que se definice o charset para [b:6f34e1bb8d][size=18:6f34e1bb8d]ISO8859_1[/size:6f34e1bb8d][/b:6f34e1bb8d] iria funcionar com o zero????


Responder

Gostei + 0

13/07/2006

Aroldo Zanela

Colega,

WinXXXX é um padrão da Microsoft e ISO, bem, é ISO. Mas Win1252 e ISO8859_1 são idêntiticos. Eu achei que o erro era aqui:
C_DATA_ULT_MANUT = ´1ª MANUTENÇÃO´; 

Por isso, fiz o comentário anterior. (Apesar da mensagem de erro)


Responder

Gostei + 0

13/07/2006

Cabelo

Entendí...

Você achou que o erro era caracteres especiais e acentuação certo???

mas o erro era no null...

mesmo assim valeu pela ajuda..


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar