Đây nhất thiết không phải là câu trả lời về cách khắc phục sự cố, nhưng đó là câu trả lời về cách bạn có thể sửa đổi tác vụ tập lệnh của mình để nhận được thông báo lỗi tốt hơn sau đó "Lỗi tác vụ tập lệnh:Ngoại lệ đã được ném ..."
Chúng tôi sẽ luôn kết thúc các nhiệm vụ tập lệnh của mình trong một lần thử bắt và sau đó nâng thông báo ngoại lệ trở lại khỏi nhiệm vụ tập lệnh:
public void Main()
{
try
{
//Your code here
Dts.TaskResult = (int)ScriptResults.Success;
}
catch (Exception ex)
{
Dts.Events.FireError(-1, "", ex.Message, String.Empty, 0);
Dts.TaskResult = (int)ScriptResults.Failure;
}
}
Đó luôn là một thách thức, đặc biệt là với một gói SSIS đã triển khai, khi nó xảy ra lỗi trong một tác vụ tập lệnh, bạn không nhất thiết phải nhận được dấu hiệu rõ ràng về lý do tại sao nó không thành công và bạn nhận được một thông báo lỗi khó hiểu. Đoạn mã trên sẽ nắm bắt những gì đã ném ngoại lệ và bong bóng trở lại các dịch vụ tích hợp.