Domanda

Dal momento che non riesco a utilizzare il? nelle istruzioni SQL più complesse stiamo eseguendo abbiamo letto da qualche parte che è possibile impostare un passaggio precedente per impostare il codice SQL per voi. Questo è un passo ActiveX che imposta l'istruzione SQL passi e sostituti in variabili globali.

Quindi il passo SQL ha SELEZIONA 0 in esso e il passo prima che sia essenzialmente uno script VB, come di seguito

' 205 (Change SourceSQLStatement) Option Explicit

funzione main ()     Dim 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

End Function

Tuttavia si afferma che non riesce a trovare lavoro con questo nome, non esiste. Se cambiamo a Piazza di intead dei compiti è trovato ma il passo non ha una proprietà SourceSQLStatement.

Quindi, io sono fuori dalla mia profondità. Tutte le idee?

Probabilmente cambiare il tipo di passo che corre lo SQL?

È stato utile?

Soluzione

Hai provato cambiando la dichiarazione TSQL complesso a una stored procedure?

Si potrebbe quindi avere un parametro di input nella stored procedure per nome del file. Questa stored procedure potrebbe essere utilizzato come fonte del vostro compito pompa di dati, con il parametro assegnato il valore della variabile globale DTS a run-time dal "?" sulla sintassi si parla.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top