为什么不记录?
这是有趣的部分,这是我多年来与 SSIS 打交道时所能想到的最好的部分。Dts.Log
非常无用,至少如果您希望它显示在 SSIS 内置的日志记录工具中。
相反,请将 Dts.Log 调用更改为 Dts.Events。Fire e.g.
bool fireAgain = false;
Dts.Events.FireInformation(0, "This gest logged", "My long description here", string.Empty, 0, ref fireAgain);
然后,在你的Details上面的选项卡,确保您已检查OnInformation
事件(这也假设您已将包配置为跟踪所有事件)
最后,如果您实际上没有单击“Providers and Logs”选项卡中的按钮,它不会记录到表中
为什么它不起作用?
该包无法工作,因为您正在处理 Excel 并且错误消息指定您正在 64 位模式下运行。
Microsoft (R) SQL Server 执行包实用程序版本 11.0.5058.0(64 位)
除非您已执行某些操作来明确使 64 位 Excel 在此服务器上工作,否则它将无法工作。相反,在 SQL 代理作业中,您需要指定该任务以 32 位模式运行。
See also
为什么我的 ODBC 连接在 Visual Studio 中运行 SSIS 加载时失败,但在使用执行包实用工具运行相同包时却失败 https://stackoverflow.com/questions/13943765/why-does-my-odbc-connection-fail-when-running-an-ssis-load-in-visual-studio-but/13960063#13960063