Boa noite senhores,alguém já passou por este problema?
Estou fazendo uma consulta via linked server de um banco sqlserver para Oracle. Não entendi sinceramente o que está acontecendo:
Porém ao fazer a consulta de dados de um valor varchar do banco Oracle para o Sqlserver,alguns campos vem vazios.
Porém se eu fizer a consulta somente daquele id que veio vazio pelo id o campo vem com valor! Não entendi o que está acontecendo!
Segue script:
DECLARE @Protocolo varchar(max),
@NFe XML,
@DATA_INICIAL DATE =GETDATE(),
@DATA_FINAL DATE =GETDATE(),
@COMANDOSQL NVARCHAR(MAX),
@LINKEDSERVER NVARCHAR(MAX),
@SCRIPTEXECUCAO NVARCHAR(MAX),
@CHAVE VARCHAR(100),
@FILIAL VARCHAR(10),
@NUMEROORCAMENTO VARCHAR(20),
@DIASPARAPROTOCOLAR INT,
@STATUS_CANCELADO_INUTILIZADO_NDD INT,
@PROTOCOLO_CONTINGENCIA VARCHAR(MAX),
@STATUS_AUTORIZADO_NDD INT,
@STATUS_ERP INT
CREATE TABLE #NOTASPARAPROTOCOLAR(
ORCAMENTO INT,
FARMACIA INT,
STATUS_NFCE_ERP INT,
STATUS_NFCE_NDD INT,
CHAVENOTA VARCHAR(MAX),
XML_AUT VARCHAR(MAX),
PROTOCOLO_NFCE VARCHAR(MAX),
PROTOCOLO_NFCE_CONTINGENCIA VARCHAR(MAX)
)
CREATE TABLE #NOTASTEMP(
CHAVENOTA VARCHAR(100),
XML_AUT VARCHAR(MAX),
STATUS_NFE_NDD INT
)
SET @COMANDOSQL='''SELECT IDE_ID,
XML_AUT,
STATUSNFE,
REPLACE(IDE_ID,''''NFe'''','''''''') CHAVENOTA
from TB_COLDNFCE
WHERE STATUSNFE in(100,101,102)
AND
IDE_DHEMI>='''''+ CONVERT(VARCHAR(10),@DATA_INICIAL)+'''''
AND IDE_DHEMI<='''''+ CONVERT(VARCHAR(10),@DATA_FINAL) +'''''
'''
+ ')'
SET @LINKEDSERVER='SELECT
CHAVENOTA,
XML_AUT,
STATUSNFE
FROM OPENQUERY(LnkNDDNFCe,'
SET @SCRIPTEXECUCAO= @LINKEDSERVER + @COMANDOSQL
INSERT INTO #NOTASTEMP
EXEC SP_EXECUTESQL @SCRIPTEXECUCAO