2
由於我似乎無法使用?在我們正在執行的更復雜的SQL語句中,我們可以在某處讀取您可以設置上一步爲您設置SQL的位置。這是一個ActiveX步驟,用於設置步驟SQL語句和全局變量中的替代項。DTS將SQL語句設置爲另一步中的步驟
所以SQL步驟具有選擇在它0和麪前的步驟本質上是一個VB腳本如下
「205(更改SourceSQLStatement) Explicit選項
函數main() 昏暗oPkg, oDataPump,sSQLStatement
' Build new SQL Statement
sSQLStatement = "IF (SELECT 1 FROM TABLE fm WHERE NOT EXISTS ("&_
"SELECT HighestVersionReceived "&_
"FROM FILE_CURRENT fc "&_
"WHERE fc.COL = fm.COL "&_
"AND fc.HighestVersionReceived < fm.FileVersion) "&_
"AND [FileName] = '" & DTSGlobalVariables("GLBFileName").Value & "') = 1 "&_
"SELECT 1 AS VALID "&_
"ELSE "&_
"SELECT 0 AS VALID"
' Get reference to the DataPump Task
Set oPkg = DTSGlobalVariables.Parent
Set oDataPump = oPkg.Tasks("DTSStep_DTSExecuteSQLTask_34").CustomTask
' Assign SQL Statement to Source of DataPump
oDataPump.SourceSQLStatement = sSQLStatement
' Clean Up
Set oDataPump = Nothing
Set oPkg = Nothing
Main = DTSTaskExecResult_Success
端功能
但是它指出它找不到具有此名稱的任務,它確實存在。如果我們將其更改爲任務步驟,則會發現該步驟,但該步驟沒有SourceSQLStatement屬性。
因此,我超出了我的深度。有任何想法嗎?
可能更改運行SQL的步驟的類型?
我喜歡這種「如果你這樣做,複雜性就會消失。」一種答案! – 2012-08-06 15:06:39