Sql server SSIS错误:";“ODBC源代码”;验证失败并返回验证状态“;VS_NEEDSNEWMETADATA“;

Sql server SSIS错误:";“ODBC源代码”;验证失败并返回验证状态“;VS_NEEDSNEWMETADATA“;,sql-server,ssis,odbc,etl,sqlanywhere,Sql Server,Ssis,Odbc,Etl,Sqlanywhere,我有一个SSIS项目,去年我没有遇到任何问题。我可以在VisualStudio2019中无问题地执行未更改的包,并在SSMS中作为SQL代理作业执行 但是,如果在数据任务中打开数据流ODBC源,系统会提示我更新输出列上的元数据。无论我选择“是”还是“否”,并且不对包进行其他更改,我在执行时都会收到以下错误: “ODBC源”验证失败,返回验证状态“VS_NEEDSNEWMETADATA” 我能想到的唯一可能导致此错误的更改是我在服务器上从Visual Studio 2017更新到Visual St

我有一个SSIS项目,去年我没有遇到任何问题。我可以在VisualStudio2019中无问题地执行未更改的包,并在SSMS中作为SQL代理作业执行

但是,如果在数据任务中打开数据流ODBC源,系统会提示我更新输出列上的元数据。无论我选择“是”还是“否”,并且不对包进行其他更改,我在执行时都会收到以下错误:

“ODBC源”验证失败,返回验证状态“VS_NEEDSNEWMETADATA”

我能想到的唯一可能导致此错误的更改是我在服务器上从Visual Studio 2017更新到Visual Studio 2019。我在我的本地计算机上使用VS2019,它也有同样的问题

ODBC源代码使用SQL Anywhere 17 32位驱动程序

我已尝试以下操作,并在执行时继续收到错误:

  • 重新创建数据流任务、ODBC连接管理器和包
  • 使用DTEXEC/FILE运行包
  • 在ODBC源上将ValidateExternalMetadata设置为False
  • 已确认数据源上的外部列和输出列具有相同的数据类型
编辑:
我在VS 2017中创建了一个新项目,使用相同的数据流任务。我可以运行和编辑ODBC源代码,执行时不会出现任何元数据错误。我在VS2019中打开了该项目,当我打开ODBC源代码时,系统会提示我更新元数据。然后在执行时,我收到了“VS_NEEDSNEWMETADATA”错误。关于在VS 2019中更正此问题,您有什么想法吗?

尝试将ODBC源
ValidateExternalMetadata
属性更改为
False
,有关更多信息,您可以在以下链接中查看Matt Masson(SSIS前程序经理)的答案:

另外,确保已从项目配置中选择正确的
TargetServerVersion
属性:


谢谢哈迪。我尝试了我在原始请求中提到的方法,但在VS2019中仍然得到一个执行错误。奇怪的是,如果我使用VS 2017将ValidateExternalMetadata更改为false、保存并关闭包,那么我就可以在VS 2019中打开相同的包,编辑/执行ODBC源代码,而不会出现任何元数据错误。要在VS 2017中修改我的所有工作包,以便我可以在VS 2019中修改它们,似乎需要做大量的工作。@Hslew是否
TargetServerVersion
设置为正确的SQL Server版本?SQL Server 2017。这就是问题所在吗?@Hslew安装的SQL Server版本14.0.1000.169是什么