Sql server 通过SQL Server代理作业执行包含脚本任务的SSIS包时出错
我有一个Sql server 通过SQL Server代理作业执行包含脚本任务的SSIS包时出错,sql-server,ssis,Sql Server,Ssis,我有一个SQL Server 2012SSIS包,其中包含一个脚本任务以及其他任务[数据流,执行SQL任务]。当我手动执行作业时,它已成功完成 但是,当我通过sqljobagent执行包时,它失败了,并显示以下错误消息 “错误:2014-05-13 12:45:14.67 代码:0x00000001 来源:脚本任务 描述:调用的目标已引发异常 端错误 DTExec:包执行返回DTSER_失败(1) 开始时间:下午12:45:10 完成时间:下午12:45:14 已用时间:4.353秒“ 我的脚本
SQL Server 2012
SSIS包,其中包含一个脚本任务以及其他任务[数据流,执行SQL任务]。当我手动执行作业时,它已成功完成
但是,当我通过sqljobagent
执行包时,它失败了,并显示以下错误消息
“错误:2014-05-13 12:45:14.67
代码:0x00000001
来源:脚本任务
描述:调用的目标已引发异常
端错误
DTExec:包执行返回DTSER_失败(1)
开始时间:下午12:45:10
完成时间:下午12:45:14
已用时间:4.353秒“
我的脚本任务
用于加载文本文件中的数据并添加到变量
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;
谢谢,尝试添加C:\Windows\System32\config\systemprofile\Desktop文件夹。它解决了我的问题。我认为您需要将权限添加到指定文件夹中的
SQL作业代理服务
帐户
我的最佳猜测是,当您从SSIS执行时,您将以自己的身份运行,并且您可以完全访问您的文件夹
运行
SQL作业代理时
,它使用该服务访问您的文件夹,而该用户无权访问您指定的文件夹。运行作业的SQL Server中是否存在该本地路径(E:\\IEREVISIPDKE\\IELOADING.txt)?SQL Server代理帐户有权访问该路径吗?我发现SQL Server代理无权访问文件路径…我遵循此线程,现在它工作了!谢谢这可能会解决问题,但请详细说明原因和方式。