Pegando sentença SQL de outro banco
seguinte galera, estou com um problema aqui
tenho um select aqui no meu asp, que se eu rodar ele, funciona perfeitamente
o select é esse
sql2="DECLARE @DATA DATETIME SET **@DATA='"&data&"' **SELECT HORA = DATEPART(hh, BB.EMISSAOTIME), NR_ACORDO = COUNT(DISTINCT BB.NR_ACORDO), CASH = SUM(CASE WHEN (BA.[PERC_FINANC] = 0) THEN (BA.[VR_AVISTA]) ELSE (BA.[VR_ENTRADA]) END), REFIN = SUM(CASE WHEN (BA.[PERC_FINANC] = 0) THEN 0 ELSE (BA.[VR_FINANC]) END), TOTAL = SUM(CASE WHEN (BA.[PERC_FINANC] = 0) THEN (BA.[VR_AVISTA]) ELSE (BA.[VR_ENTRADA]) END) + SUM(CASE WHEN (BA.[PERC_FINANC] = 0) THEN 0 ELSE (BA.[VR_FINANC]) END) FROM dbo.BOLETOS AS BB (NOLOCK), dbo.BOL_AUX AS BA (NOLOCK) WHERE (BB.EMISSAO = @DATA) AND (BB.PARCELA = 0) AND (ISNULL(BB.STATUS, 0) <> 3) AND (BB.PAGAMENTO IS NULL) AND BB.BOLETAGEM IS NULL AND BB.NR_ACORDO = BA.NR_ACORDO GROUP BY DATEPART(hh, BB.EMISSAOTIME) UNION ALL SELECT HORA = 99, NR_ACORDO = COUNT(DISTINCT BB.NR_ACORDO), CASH = SUM(CASE WHEN (BA.[PERC_FINANC] = 0) THEN (BA.[VR_AVISTA]) ELSE (BA.[VR_ENTRADA]) END), REFIN = SUM(CASE WHEN (BA.[PERC_FINANC] = 0) THEN 0 ELSE (BA.[VR_FINANC]) END), TOTAL = SUM(CASE WHEN (BA.[PERC_FINANC] = 0) THEN (BA.[VR_AVISTA]) ELSE (BA.[VR_ENTRADA]) END) + SUM(CASE WHEN (BA.[PERC_FINANC] = 0) THEN 0 ELSE (BA.[VR_FINANC]) END) FROM dbo.BOLETOS AS BB (NOLOCK), dbo.BOL_AUX AS BA (NOLOCK) WHERE (BB.EMISSAO = @DATA) AND (BB.PARCELA = 0) AND (ISNULL(BB.STATUS, 0) <> 3) AND (BB.PAGAMENTO IS NULL) AND BB.BOLETAGEM IS NULL AND BB.NR_ACORDO = BA.NR_ACORDO"
vejam que, no @data, eu concatenei uma váriavel que eu tenho no meu sistema, essa variável pega a data que o cara selecionar num <form>... beleza, até aqui, está tudo funcionando direitinho
porém, o que eu preciso fazer é pegar TODO esse select, jogar dentro do banco e executar ele por uma variável
me parece algo muito simples
eu fiz a conexão com o banco perfeita, criei uma variavel chamada script_banco, e coloquei script_banco = RS(4)
beleza, até aqui tudo certo também, para fazer o teste eu dei um response.write(script_banco) e apareceu todo esse código gigante ai em cima, perfeitamente...
bom... tudo estava dando certo até a hora que eu fiz sql2=script_banco
não funcionou... aparece um erro assim
Microsoft OLE DB Provider for SQL Server erro '80040e14'
Sintaxe incorreta próxima a '&'.
provavelmente o asp esteja dando pau naquela concatenação lá da data... mas o estranho é que se eu tirar a variavel script banco e colar a sentença toda, funciona perfeitamente
pensei que talvez o problema poderia ser que, quando ele puxa os dados da script_banco, ela vem sem as aspas... bom, adicionei as aspas lá no banco, no inicio e no fim da query e não deu certo... tentei concatenar direto no asp, algo como
aspas = """
sql2=aspas&script_banco&aspas
e também não deu certo...
não estou entendendo porque isso está acontecendo
Discussão (1)
Carregando comentários...