在通过SQL Server代理作业执行包含脚本任务的SSIS包时出错

时间:2014-05-13 04:28:25

标签: sql-server ssis

我有一个SQL Server 2012 SSIS包,其中包含脚本任务以及其他任务[数据流,执行sql任务]。当我手动执行作业时,它已成功完成。

但是当我通过SQL Job Agent执行包时,它会因以下错误消息而失败。

  

“错误:2014-05-13 12:45:14.67

     

代码:0x00000001

     

来源:脚本任务

     

描述:调用目标抛出了异常。

     

结束错误

     

DTExec:包执行返回DTSER_FAILURE(1)。

     

开始时间:下午12:45:10

     

完成:下午12:45:14

     

经过:4.353秒“

我的Script Task用于文本文件中的加载数据并添加到变量

public void Main()
    {
        // TODO: Add your code here
        StreamReader sr = new StreamReader("E:\\IEREVISIPDKE\\IELOADING.txt");

        string st = sr.ReadToEnd();
        this.Dts.Variables["IE"].Value = st;

        //MessageBox.Show(st);

        Dts.TaskResult = (int)ScriptResults.Success;

谢谢,

2 个答案:

答案 0 :(得分:0)

尝试添加C:\ Windows \ System32 \ config \ systemprofile \ Desktop文件夹。它解决了我的问题。

答案 1 :(得分:0)

我认为您需要将SQL Job Agent Service帐户的权限添加到指定的文件夹。

我最好的猜测是,当您从SSIS执行时,您可以自己运行,并且您可以完全访问您的文件夹。

运行SQL Job Agent时,它会使用该服务访问您的文件夹,而该用户无法访问您指定的文件夹。