2013-05-22 56 views
0

我有3個變量,如以下在SSIS包如何在SSIS中的另一個變量內使用變量值?

NAME  TYPE VALUE 
FROMDATE String '5/1/2011'  
TODATE  String Select (FunctionPreviousBusinessDay(),112) 
OUTPUT  String Select companyName , price from Mytable where date in between '+ @[User::FROMDATE] + "and" + @[User::TODate]' 

OUTPUT是給我等計算的表達式:

Select companyName , price from Mytable where date in between '5/1/2011' and 
Select (FunctionPreviousBusinessDay(),112) 

相反可變TODATE直接給予串執行的。

我期待像輸出以下

Select companyName , price from Mytable where date in between '5/1/2011' and 
'5/22/2011' 

我怎樣才能做到這一點?請指教 ?

直接粘貼與? SQL查詢,但得到以下錯誤:

Error at Data Flow Task [OLE DB Source [1]]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. 
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "Syntax error, permission violation, or other nonspecific error". 
+1

這是OP問題的後續內容http://stackoverflow.com/questions/16691747/need-to-generate-dynamically-excel-file-from-sql-select-statement-using-ssis/16693028其中主要問題是使用SSIS表達式編輯器。另外,[OLE DB數據源參數化SQL語句](http://msdn.microsoft.com/zh-cn/library/ms141696.aspx)在這裏會更好。 – criticalfix

+0

直接粘貼到oledb源代碼編輯器中獲取錯誤(有問題更新):( – Neo

回答

1

我認爲你需要有一個單列的結果集的附加執行SQL任務。該任務的查詢將是

Select (FunctionPreviousBusinessDay(),112) 

其結果將需要設置爲@TODATE。

相關問題