2010-06-14 11 views
5

Ho un progetto SSIS in cui sto costruendo un comando SQL basato su alcune variabili. Sto costruendo il comando in un'attività di script e voglio produrre l'SQL costruito nella finestra 'Risultati dell'esecuzione'. Sto cercando di farlo utilizzando una linea FireInformation da dentro il mio script come segue:Eventi di attivazione nell'attività di script

Dts.Events.FireInformation(99, "test", "Make this event appear!", "", 0, true); 

Tuttavia, l'editor di script durante la modifica ScriptMain.cs, quella linea è sottolineata in rosso, e al passaggio del mouse, ottengo il seguente messaggio:

Error:
The best overloaded method match for 'Microsoft.SqlServer.Dts.Tasks.ScriptTask.EventsObjectWrapper.FireInformation(int, string, string, string, int, ref bool') has some invalid arguments

Come risultato, il mio script non viene compilato e non riesco a eseguirlo.

Qualche idea su cosa sto facendo male qui, o cosa devo cambiare per poter vedere i valori delle mie variabili a questo punto nell'output di esecuzione?

+0

upvoted perché questa domanda mi ha aiutato a capire che Dts.events.FireInformation non aggiorna il registro eventi di Windows. –

risposta

18

L'ultimo parametro di IDTSComponentEvents.FireInformation è un ref bool, non uno bool.

Quindi è necessario passare un riferimento a una variabile di tipo bool invece di un valore bool:

bool fireAgain = true; 
Dts.Events.FireInformation(..., ref fireAgain); 
8

È necessario la parola ref:

bool b = true; 
Dts.Events.FireInformation(99, "test", "Make this event appear!", "", 0, ref b); 
Problemi correlati