在一个 SSIS 脚本中可以有多个 Try/Catch 块吗?
Possible to Have Multiple Try/Catch Blocks Within Each Other in a SSIS Script?
我有一个正在进行的项目,我想在进行编码和测试工作之前仔细检查一下是否可行。我正在尝试做的是:
try {
// Do stuff
try {
// Do other stuff
}
catch {
// Fail silently
}
// Do more stuff
}
catch (...) {
// Process error
}
是否可以在 try/catch 中包含 try/catch?大多数语言都允许这样做,但是当我尝试在网上搜索时,终究找不到任何答案。
谢谢
SSIS 脚本任务是 C#(或 VB.NET)。 C# 允许这样做,因此 SSIS 允许这样做。
我曾经编写过一些 SSIS 脚本任务,我鼓励您利用 Raising Events in the Script Task。
根据您的版本 + 部署模型 + 调用方法,您可能还想打开本机 SSIS 日志记录。项目部署模型(2012 年以后)提供本机日志记录。否则,您将需要指定要记录的事件以及要与它们一起使用的日志记录提供程序。这需要作为包开发的一部分来完成。否则,我喜欢使用 /REP EWI
的 DTEXEC 调用将确保错误、警告和信息事件记录到 console/SQL 代理。
我有一个正在进行的项目,我想在进行编码和测试工作之前仔细检查一下是否可行。我正在尝试做的是:
try {
// Do stuff
try {
// Do other stuff
}
catch {
// Fail silently
}
// Do more stuff
}
catch (...) {
// Process error
}
是否可以在 try/catch 中包含 try/catch?大多数语言都允许这样做,但是当我尝试在网上搜索时,终究找不到任何答案。
谢谢
SSIS 脚本任务是 C#(或 VB.NET)。 C# 允许这样做,因此 SSIS 允许这样做。
我曾经编写过一些 SSIS 脚本任务,我鼓励您利用 Raising Events in the Script Task。
根据您的版本 + 部署模型 + 调用方法,您可能还想打开本机 SSIS 日志记录。项目部署模型(2012 年以后)提供本机日志记录。否则,您将需要指定要记录的事件以及要与它们一起使用的日志记录提供程序。这需要作为包开发的一部分来完成。否则,我喜欢使用 /REP EWI
的 DTEXEC 调用将确保错误、警告和信息事件记录到 console/SQL 代理。