我正在测试从VS2005项目升级到VS2013(程序包部署模型)项目的SSIS程序包。这是一个非常简单的程序包,它仅从特定位置一个文件处理一个文件,并根据这些文件更新数据库,一旦完成,它就会根据结果将文件移动到存档目录或非解析目录中。而且我遇到了奇怪的错误,我无法找到解决方案。

问题是我的程序包运行良好,并且确实执行了它应该做的事情(从文件中提取数据并将其插入表中)。但是,此操作的一部分是将文件移动到归档文件(文件系统任务)。而且我收到此错误“描述:要在SQL Server数据工具之外运行SSIS包,必须安装“将文件移动到Integration Services的存档或更高版本。

我在2014年的SSDT BI中使用了VS2013,并且在我的开发测试VM(12.0.2000.8 x64位)中,SSIS Designer版本与dtexec实用程序匹配。以下是CLI的输出。
Microsoft (R) SQL Server Execute Package UtilityVersion 12.0.2000.8 for 64-bitCopyright (C) Microsoft Corporation. All rights reserved. Started: 10:45:58 AMProgress: 2016-02-11 10:45:59.20 Source: Truncate StagingTable Executing query "TRUNCATE TABLE StagingTable".: 100% completeEnd ProgressProgress: 2016-02-11 10:45:59.25 Source: Insert into Staging Executing query "exec dbo.staging @xml_fileName,NULL,'C...".: 100% completeEnd ProgressProgress: 2016-02-11 10:45:59.25 Source: Move to MasterXML Executing query "exec dbo.insertXML".: 100% completeEnd ProgressError: 2016-02-11 10:45:59.25 Code: 0xC000F427 Source: Move File to Archive Description: To run a SSIS package outside of SQL Server Data Tools you mustinstall Move File to Archive of Integration Services or higher.End ErrorProgress: 2016-02-11 10:45:59.30 Source: Execute SQL get_next_file Executing query "exec get_next_file".: 100% completeEnd ProgressProgress: 2016-02-11 10:45:59.51 Source: Execute SQL notify_users Executing query "exec notify_users".: 100% completeEnd ProgressDTExec: The package execution returned DTSER_SUCCESS (0).Started: 10:45:58 AMFinished: 10:45:59 AMElapsed: 1.172 seconds
在最近的努力中,我在尝试运行此程序包的同一台计算机上安装了VS2013和SSDT BI for SQL Server 2014。而且,如果我使用VS,程序包可以正常运行,但是一旦我尝试使用以下命令通过CLI运行该程序包,它仍然会失败,并显示相同的消息,
"C:\Program Files\Microsoft SQL Server\120\DTS\Binn\dtexec.exe" /f "C:\SSIS\Load_Files.dtsx" /ConfigFile "C:\SSIS\loadFiles_SSIS_Configuration.dtsconfig"
我确信它与SSIS在VS2005到VS2013中的工作方式有关,但只是不知道在哪里看。有什么建议么 ?

最佳答案

只是为了给将来的访问者一些东西,在我的案例中,我在同一台计算机上安装了两个不同版本的SSIS。一个用于2005,另一个用于2014。奇怪的是,即使我在命令中明确指向较新的版本(如后面的部分所示),也始终使用旧版本。

一旦我有了仅使用SQL Server 2014(&SSIS)的干净系统,就可以运行相同的程序包,而不会出现任何问题。因此,它似乎存在某种局限性,不允许在同一台计算机上运行两个不同版本的SSIS。

关于sql-server - 若要在SQL Server数据工具之外运行SSIS包,必须安装“将文件移动到Integration Services的存档”或更高版本。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35469249/

10-14 15:12