通过SQL Agent运行时来自HRESULT的异常:0x800A03EC

时间:2018-12-21 14:08:21

标签: c# ssis

我在ssis pacakge中有一个脚本任务。脚本任务的代码:

          string xlsPath = Dts.Variables["User::FilePath"].Value.ToString();

            Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
            app.Visible = false;
            Microsoft.Office.Interop.Excel.Workbook workbook = app.Workbooks.Open(xlsPath);
            Microsoft.Office.Interop.Excel.Worksheet worksheet = workbook.Worksheets[1];
            int ColumnIndex = 4;
            worksheet.Columns[ColumnIndex].TextToColumns();
            worksheet.Columns[ColumnIndex].NumberFormat = "0";
            workbook.Save();
            workbook.Close();

在VS2015中运行程序包时我没有问题,但是通过sql agent运行它时会引发以下错误:

  

HRESULT异常:0x800A03EC。

我正在使用xls文件。

1 个答案:

答案 0 :(得分:1)

您可以在脚本中添加try ... catch ...来捕获确切的错误消息。

这可能是由于权限问题引起的,代理作业中使用的帐户(默认情况下为SQL Server代理服务帐户)无权访问Excel文件。

解决方案是使用具有足够权限的代理帐户运行程序包。

How to create a Proxy Account and use it to run SSIS package