【发布时间】:2010-06-04 09:20:05
【问题描述】:
具有调用自定义 .NET dll 的脚本任务的 SSIS (SQL 2005) 包在 64 位环境中运行时会引发以下错误
该任务无法在 64 位环境中执行,因为该脚本未预编译。请在任务编辑器中开启预编译脚本的选项。
脚本任务设置为 PreCompile=false,因为引用的 dll 是由构建过程生成的。
建议的解决方法是:
选项 1. 使用 precompiled=True,构建完成后在 BIDS 中打开、保存和关闭包 .这将重新编译引用并在 SSIS 包中生成嵌入式 64 位二进制文件,并将导致上述错误消失。但是,这也意味着构建完成后必须有人手动打开 SSIS 包。
选项 2。坚持 32 位模式。
选项 1 是两者中可行的一种,但不切实际。有 200 个 SSIS 包 - 每次生成构建时,我们都没有人手来完成这项任务。
选项 2 是不可能的,因为 32 位不适合我们。
现在问题: 1. 你们的 SSIS 包有构建过程吗?如果是的话,你能分享你的做法吗 2. 如何管理脚本任务?您是否愿意在脚本中捆绑所引用 dll 的开发者版本?
【问题讨论】:
标签: ssis build-process 32bit-64bit