SSIS/C#: Tâche de Script, C# script pour regarder répertoire et stocker le nom de l'1 fichier dans une variable

Fondamentalement, j'ai écrit un C# script pour une tâche de Script dans SSIS qui ressemble à un Utilisateur::Répertoire pour 1 csv, si & seulement si il existe un fichier, on stocke dans la variable d'instance qui associe ensuite les variables de package de SSIS.

Quand je exicute, ça me donne le rouge rempli dans la boîte de la tâche de Script. Je pense que c'est lié à la façon dont je suis à la recherche de l'annuaire, mais je ne suis pas sûr.

S'il vous plaît aider!

using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;
using System.IO;

namespace ST_e8b4bbbddb4b4806b79f30644240db19.csproj
{
    [System.AddIn.AddIn("ScriptMain", Version = "1.0", Publisher = "", Description = "")]
    public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
    {
       private String fileName = "";
       private String RootDirictory;
       private String FilePath;

       enum ScriptResults
       {
           Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
           Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
       };

       public ScriptMain()
       {
           RootDirictory = Dts.Variables["RootDir"].Value.ToString();
           FilePath = RootDirictory + "\\" + "SourceData" + "\\";
       }

       public void setFileName()
       {
           DirectoryInfo YDGetDir = new DirectoryInfo(FilePath);
           FileInfo[] numberOfFiles = YDGetDir.GetFiles(".csv");

           if (numberOfFiles.Length < 2)
           {
               fileName = numberOfFiles[0].ToString(); 
           }

          int fileNameLen = fileName.Length;

          String temp = fileName.Substring(0, fileNameLen - 5);

          fileName = temp; 
       }


       public void mapStateToPackage()
       {
           if((fileName!=null)||(fileName!=""))
           {
               Dts.Variables["ExDFileName"].Value = fileName; 
           }
       }

        public void Main()
        {
            setFileName();
            mapStateToPackage(); 
            Dts.TaskResult = (int)ScriptResults.Success;
        }
    }
}
InformationsquelleAutor Snow_Mac | 2011-06-06