sql >> Database >  >> RDS >> Sqlserver

Hoe SSIS-variabelen doorgeven in ODBC SQLCommand-expressie?

  • Met OLE DB

Probeer deze code, het werkt voor mij met mijn eigen tabellen met SQL Server:

SELECT userid,sum(goldbalance) AS SUMGOLD
FROM deltadna.events_live
WHERE eventTimestamp >= DATEADD(DAY, -100,CONVERT(DATE,?))
GROUP BY userid
ORDER BY SUMGOLD desc

U moet op Parameters in de OLEDB Source Editor klikken om te configureren wat u nodig hebt. Gebruik de '?' om een ​​variabele in uw zoekopdracht weer te geven.

Als u een vraag stelt als deze te ingewikkeld is, slaat u deze op in een opgeslagen procedure en roept u deze als volgt aan:

EXEC shema.storedProcedureName ?

En kaart de '?' naar uw variabele @user::DateString

  • Met ODBC

De expressies bevinden zich buiten de gegevensstroom in Eigenschappen van gegevensstroom. Selecteer de eigenschap expressie en voeg uw dynamische query toe.

En je uitdrukking zal zijn

"SELECT userid,sum(goldbalance) AS SumGold
FROM deltadna.events_live
where eventTimestamp>=DATE "[email protected][User::datestring]+" +INTERVAL '-100 day'
group by userid
order by SumGold desc"



  1. Verwijder dubbele mysql-rijen zonder primaire sleutel

  2. Rijen samenvouwen tot één kolom

  3. ORA-30926:kan geen stabiele set rijen krijgen in de brontabellen bij het samenvoegen van tabellen

  4. Array naar string-conversiefout Symfony 3