Sunday, February 26, 2012

DTSExec and Logging to Windows Event Log

I am trying to use either DTExec or DTExecUI to run a package while logging to the Windows Event log. This purports to be supported based on books online.

I have tried passing the CLSID and the ProgId on the command line and always get a message about the logger parameter being invalid.

I am using a command line like this:

dtexec /FILE "C:\Etl.dtsx" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING EW /LOGGER "DTS.LogProviderEventLog.1"; /SET "\Package.DestinationDatabase";"Test15-1Warehouse" /SET "\Package.SourceDatabase";ATEST15D1

Message I get is:

Argument "DTS.LogProviderEventLog.1;" for option "logger" is not valid.

Same message with the CLSID.

Help!

Normally the Logger switch expects a 2nd configstring argument within the quotes. The Event Log doesn't have anything to configure, but it seems to want the semicolon that would normally precede the 2nd argument.

Instead of /LOGGER "DTS.LogProviderEventLog.1",
please try /LOGGER "DTS.LogProviderEventLog.1;".|||Actually the semicolon is already specified (just outside the quotes instead of inside which should work (if not it is a bug). The problem is that the config string is not optional so the argument is missing the config string as far as DTExec is concerned. Try putting any character there and it should work as the event log provider ignores the config string.

/LOGGER "DTS.LogProviderEventLog.1;x".

thanks,|||Thanks.

Kind of stupid but that was it.

No comments:

Post a Comment