Hi,
I am running the ‘Data Tranformation Services’ using DTS dll in C#. Issue is the log file generated has progress count always zero, even if task executes successfully. Where as if run through command prompt, the progress count is reflected.
public DataSet ETLPreReporting(string repFlag,
string pkgPaths,
string logFilePath,
string errorFilePath,
string userID,
string runID,
string dbName,
string catalogName,
string sqlLogin,
string sqlLoginPwd)
{
try
{
ExecutePKGDataAccess daPKG = new ExecutePKGDataAccess();
DataSet dsData;
object pVarPersistStgOfHost = null;
//Instantiating the DTS package object
DTS.Package dtsETL2;
dtsETL2 = new DTS.Package();
//Unload the package
dtsETL2.UnInitialize();
dtsETL2.LoadFromStorageFile(pkgPaths, "", "", "", "", ref pVarPersistStgOfHost);
//Adding the user id
dtsETL2.GlobalVariables.Remove("G_UserID");
dtsETL2.GlobalVariables.AddGlobalVariable("G_UserI D", userID);
//Adding the error file path
dtsETL2.GlobalVariables.Remove("G_ExpFile");
dtsETL2.GlobalVariables.AddGlobalVariable("G_ExpFi le", errorFilePath);
//Adding the Log file path
dtsETL2.GlobalVariables.Remove("G_LogFile");
dtsETL2.GlobalVariables.AddGlobalVariable("G_LogFi le", logFilePath);
//Adding the report type flag
dtsETL2.GlobalVariables.Remove("G_Report");
dtsETL2.GlobalVariables.AddGlobalVariable("G_Repor t", repFlag);
//Adding the database server name
dtsETL2.GlobalVariables.Remove("G_Datasource");
dtsETL2.GlobalVariables.AddGlobalVariable("G_Datas ource", dbName);
//Adding the database catalog name
dtsETL2.GlobalVariables.Remove("G_Catalog");
dtsETL2.GlobalVariables.AddGlobalVariable("G_Catal og", catalogName);
//Adding the run id
dtsETL2.GlobalVariables.Remove("G_RunID");
dtsETL2.GlobalVariables.AddGlobalVariable("G_RunID ", runID);
//Adding the sql Login id
dtsETL2.GlobalVariables.Remove("G_Login");
dtsETL2.GlobalVariables.AddGlobalVariable("G_Login ", sqlLogin);
//Adding the sql login-id password
dtsETL2.GlobalVariables.Remove("G_Passwd");
dtsETL2.GlobalVariables.AddGlobalVariable("G_Passw d", Obfuscate(sqlLoginPwd));
//Executing the DTS package
dtsETL2.Execute();
//Unload the package
dtsETL2.UnInitialize();
//Get the ETL run status
dsData = daPKG.RunStatusForETL(userID, runID, dbName, catalogName);
return dsData;
}
catch (Exception exception)
{
throw;
}
}
Any help in the regard would be appreciated.
Regards,
Sakshi Jain