pessoal estou fazer uma query na sped050 mas o campo xml_erp esta vindo pela metade, no sqlserver estou usando assim na select CONVERT(VARCHAR(800), CONVERT(VARBINARY(8000), XML_ERP)).
alguem aqui ja teve esse probelam e como corrigiu
pessoal estou fazer uma query na sped050 mas o campo xml_erp esta vindo pela metade, no sqlserver estou usando assim na select CONVERT(VARCHAR(800), CONVERT(VARBINARY(8000), XML_ERP)).
alguem aqui ja teve esse probelam e como corrigiu
Bom dia Eduardo!
Tudo bem?
Tente dessa forma:
((ISNULL(CAST(CAST(A.XML_ERP AS VARBINARY(8000)) AS VARCHAR(8000)),‘’)) AS XML
Nada, ainda esta cortando no final, não vem completo o XML.
Grato
@aeduardo.clemente eu respondi algo semelhante nesse post aqui:
Bom dia.
Acredito que dessa forma deve funcionar:
CONVERT(VARCHAR(MAX), CONVERT(VARBINARY(MAX), XML_ERP))
Boa tarde.
Faz a quebra por blocos no SELECT e depois faz a junção
SELECT COALESCE(utl_raw.cast_to_varchar2(dbms_lob.substr(XML_ERP, 2000, 00001)), ’ ') JSON01,
COALESCE(utl_raw.cast_to_varchar2(dbms_lob.substr(XML_ERP, 2000, 02001)), ’ ') JSON02,
COALESCE(utl_raw.cast_to_varchar2(dbms_lob.substr(XML_ERP, 2000, 04001)), ’ ') JSON03,
COALESCE(utl_raw.cast_to_varchar2(dbms_lob.substr(XML_ERP, 2000, 06001)), ’ ') JSON04
FROM SPED050
WHERE R_E_C_N_O_ = 1
Espero que ajude