2011-06-15 6 views
1

À l'aide du package SSIS, je génère ExcelSheet en tant que sortie. J'appelle le paquet de SSIS par le code de source de C#. Actuellement je sauve le dossier en tant que: pkgTR.Variables ["dPath"]. Value = @ "c: \" + sFileName;Enregistrement dynamique de la sortie du package SSIS

Nous voulons la fonction Enregistrer sous pour l'utilisateur final - Qui décide d'enregistrer le fichier soit sur C: \ ou D: \ ou où il veut enregistrer le fichier.

try 
{ 
    string pkgTRPath = @"C:\Reports\SSISPackages\GenerateTransactionReport.dtsx"; 
    Package pkgTR; 
    Microsoft.SqlServer.Dts.Runtime.Application app; 
    DTSExecResult pkgResults; 

    app = new Microsoft.SqlServer.Dts.Runtime.Application(); 
    pkgTR = app.LoadPackage(pkgTRPath, null); 

    pkgTR.Variables["sConn"].Value = System.Configuration.ConfigurationManager.AppSettings["SSISConn"]; 
    pkgTR.Variables["sDate"].Value = txtFromDate.Text; 
    pkgTR.Variables["eDate"].Value = txtToDate.Text; 
    pkgTR.Variables["sSortCode"].Value = drpSortCode.SelectedValue.TrimEnd(); 
    string sFileName = "TransactionReport_" + drpSortCode.SelectedValue.TrimEnd() + ".xls"; 
    pkgTR.Variables["dPath"].Value = @"c:\" + sFileName; 

    pkgResults = pkgTR.Execute(); 
    var reportID = drpSortCode.SelectedValue.TrimEnd(); 

    if (pkgTR.ExecutionResult.ToString() == "Success") 
    { 
     Response.Write(String.Format(@"<script language=javascript>alert('Excel Report for {0} is Generated');</script>", reportID)); 
    } 
    else if (pkgTR.ExecutionResult.ToString() == "Failure") 
    { 
     Response.Write("<script language=javascript>alert('Failure:Unable to generate report!!');</script>"); 
    } 
} 

catch (Exception ex) 
{ 
    Console.WriteLine(ex.Message); 
} 

Répondre

1

Si vous invoquez le package à partir de C# ne pouvez pas vous apparaître une boîte de dialogue dans le répertoire C# avant de commencer le paquet et passez ensuite le chemin du répertoire dans votre package SSIS lorsque vous l'exécutez?

+0

Cela semble bon avec moi, mais .. tout exemple de code ?? – goofyui

Questions connexes