Журнал результатов загрузки *.dtsx файлов

#c# #sql-server #excel #ssis

Вопрос:

Я столкнулся с задачей, когда мне нужно использовать SSIS для экспорта данных из MS Excel в базу данных MS SQL. Я создал простую форму с кнопкой на C#. Сейчас я проверяю эту штуку.

DTSX работает и создает данные в базе данных. Форма — я не знаю. Поскольку я запускаю его, нажмите кнопку, чтобы запустить загрузку, и получите только результат загрузки пакета как «Сбой«.

Мой вопрос касается подробных журналов результатов загрузки? Как определить проблему загрузки пакетов?

 namespace ExcelEDM
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public static void VerifyDir(string path)
        {
            try
            {
                DirectoryInfo dir = new DirectoryInfo(path);
                if (!dir.Exists)
                {
                    dir.Create();
                }
            }
            catch {}
        }

        public static void Logger(string lines)
        {
            string path = "C:/Log/";
            VerifyDir(path);
            string fileName = DateTime.Now.Day.ToString()   DateTime.Now.Month.ToString()   DateTime.Now.Year.ToString()   "_Logs.txt";
            try
            {
                System.IO.StreamWriter file = new System.IO.StreamWriter(path   fileName, true);
                file.WriteLine(DateTime.Now.ToString()   ": "   lines);
                file.Close();
            }
            catch (Exception) { }
        }

        private void RunExport_Click(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {       
            // Instantiate SSIS application object
            Microsoft.SqlServer.Dts.Runtime.Application myApplication = new Microsoft.SqlServer.Dts.Runtime.Application();

            // Load package from file system (use LoadFromSqlServer for SQL Server based packages)
            LabelStatus.Text = "Loading data from Microsoft Excel file...";
            Package myPackage = myApplication.LoadPackage(@"C:Usersh152141sourcereposISPISPPackage.dtsx", null);
            Logger("Loading data from Microsoft Excel file...");

            // Optional set the value from one of the SSIS package variables

            // Execute package
            LabelStatus.Text = "Executing package";
            Logger("Executing package");
            DTSExecResult myResult = myPackage.Execute();

            // Show the execution result
            LabelStatus.Text = "Package result: "   myResult.ToString()   " "   myPackage.Description;

            Logger(myResult.ToString());
        }
    }
}
 

Комментарии:

1. Вероятно, не связанные: 1. Не оставляйте блоки catch пустыми. 2. Не сворачивайте пользовательское ведение журнала. Существует множество замечательных простых в использовании фреймворков ведения журнала.