【问题标题】:SSIS package execution failed on one package, but not the other oneSSIS 包执行在一个包上失败,但在另一个包上失败
【发布时间】:2017-02-15 18:16:43
【问题描述】:

我的 SSIS 项目是在我的 Windows 用户帐户下在 Visual Studio 2012 中开发的,包括两个包,SendMailOnly.dtsx 和 SendMailWithAttachment.dtsx。两者都使用脚本任务来发送电子邮件。第一个没有附件,第二个附加了网络文件夹中的文件。这两个包在我的开发环境中运行良好。然后将该项目部署到网络 SQL Server 上的 SQL Server 集成服务目录。从那里,使用我的 Windows 帐户通过 SQL Server 代理中的作业调用该包。第一个包执行成功,但第二个包失败。错误消息统计

“脚本任务错误:调用目标抛出异常”。

请提前告知和感谢。

这是我的代码:

public void Main() 
{   
MailMessage message = new MailMessage(); 
SmtpClient smtp = new SmtpClient(); 
message.From = new MailAddress("email@mydomain.com"); 
message.To.Add(new MailAddress("myemail@mydomain.com")); 
message.Subject = "SSIS Email"; 
message.Body = "email with attachment"; 
message.Attachments.Add(new Attachment(fileName)); 
}

【问题讨论】:

  • 您是否在脚本任务编辑器中为附件选择了只读变量?
  • 感谢回复。我没有在这个包中使用任何变量,但我确实计划在其他包中使用一些变量。我的脚本代码:
  • public void Main() { MailMessage message = new MailMessage(); SmtpClient smtp = new SmtpClient(); message.From = new MailAddress("email@mydomain.com"); message.To.Add(new MailAddress("myemail@mydomain.com")); message.Subject = "SSIS 电子邮件"; message.Body = "带附件的电子邮件"; message.Attachments.Add(新附件(文件名)); }
  • 如前所述,这几乎肯定是服务帐户问题。您正在使用服务帐户不存在的映射驱动器,或者服务帐户无权访问 UNC
  • 我已将您的代码添加到您的问题中。以后请先添加您的代码或编辑您的问题以便稍后添加。另外,我不明白你为什么会忽略所有关于这是一个安全问题的建议?如果您在下面运行@Kinchit 的代码,您将收到一条更有用的错误消息,它将.... 告诉您这是一个安全错误

标签: c# visual-studio-2012 ssis


【解决方案1】:

如果它在您的机器上运行良好,但在服务器上运行不正常,那么这可能是文件访问安全问题?与 SQL Server 代理服务关联的帐户 ID 可能无权访问保存附件的文件夹。尝试将该帐户添加到文件夹中。

您可以通过导航到Windows Start \ Administrative Tools \ Services 找到此帐户,查找服务SQL Server Agent () 并找到Log On As 下列出的用户帐户。

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    将此添加到您的代码中。这将有助于了解错误:

    public void Main()
    {
    ...
        try
        {
            ...
            Dts.TaskResult = (int)ScriptResults.Success;
         }
        catch (Exception ex)
       {
            Dts.Events.FireError(0, "ERROR", ex.Message, null, 0);
            Dts.TaskResult = (int)ScriptResults.Failure;
        }
    }
    

    您甚至可以使用调试器来获取有关您所面临错误的更多详细信息。

    【讨论】:

    • 感谢您的宝贵建议,我自己试试,然后在这里更新。
    猜你喜欢
    • 2019-03-30
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-09
    • 1970-01-01
    相关资源
    最近更新 更多