改变环境时避免 VS_NEEDSNEWMETADATA
Avoid VS_NEEDSNEWMETADATA when changing enviorements
我有一个 SSIS 包,它导入 excel 文件并将数据转储到 SQL Server 2012 table。该软件包每月运行一次,excel 文件名和 sheet 名称每月都会更改。
在开发环境下运行流畅。我的问题是,当我将它部署到生产环境时,我总是得到 VS_NEEDSNEWMETADATA 错误。
我试过:
- 将 DelayValidation 设置为 "True"。
- 硬编码 sheet 名称,而不是在运行时获取它。
- 打开任务并刷新列,在部署之前使用我将在生产环境中导入的完全相同的文件。
None 其中有效。唯一改变的(除了环境本身)是文件路径,因为它在开发环境和生产环境之间必须不同。 sheet名称相同,文件元数据相同(因为文件内容也相同)。
有什么想法吗?
由于路径从 Dev 服务器更改为 Prod 服务器,因此底层 XML 也需要更新。因此你得到了错误。
为避免这种情况,请尝试保持路径相同。如果那不可能,请创建一个文件夹结构以匹配生产并从这些模拟位置制作您的包 read/write。部署这些新包后,您应该看不到任何 VS_NEEDS..... 消息。
我有一个 SSIS 包,它导入 excel 文件并将数据转储到 SQL Server 2012 table。该软件包每月运行一次,excel 文件名和 sheet 名称每月都会更改。
在开发环境下运行流畅。我的问题是,当我将它部署到生产环境时,我总是得到 VS_NEEDSNEWMETADATA 错误。
我试过:
- 将 DelayValidation 设置为 "True"。
- 硬编码 sheet 名称,而不是在运行时获取它。
- 打开任务并刷新列,在部署之前使用我将在生产环境中导入的完全相同的文件。
None 其中有效。唯一改变的(除了环境本身)是文件路径,因为它在开发环境和生产环境之间必须不同。 sheet名称相同,文件元数据相同(因为文件内容也相同)。
有什么想法吗?
由于路径从 Dev 服务器更改为 Prod 服务器,因此底层 XML 也需要更新。因此你得到了错误。
为避免这种情况,请尝试保持路径相同。如果那不可能,请创建一个文件夹结构以匹配生产并从这些模拟位置制作您的包 read/write。部署这些新包后,您应该看不到任何 VS_NEEDS..... 消息。