Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何强制SSIS部署清单文件使用特定版本的DTSInstall.exe_Sql Server_Ssis - Fatal编程技术网

Sql server 如何强制SSIS部署清单文件使用特定版本的DTSInstall.exe

Sql server 如何强制SSIS部署清单文件使用特定版本的DTSInstall.exe,sql-server,ssis,Sql Server,Ssis,我在BusinessIntelligenceDevelopmentStudio(BIDS)2005中开发了一个SSIS包,目标部署服务器也是SQLServer2005 然而,在我的开发机器上,我还安装了SQL Server 2008和2012的完整安装 我已经创建了一个Integration Services部署清单来安装该包。问题是,在安装过程中,软件包安装向导正在将我的软件包从PackageFormatVersion 2升级到PackageFormatVersion 6,而生产服务器不支持版

我在BusinessIntelligenceDevelopmentStudio(BIDS)2005中开发了一个SSIS包,目标部署服务器也是SQLServer2005

然而,在我的开发机器上,我还安装了SQL Server 2008和2012的完整安装

我已经创建了一个Integration Services部署清单来安装该包。问题是,在安装过程中,软件包安装向导正在将我的软件包从PackageFormatVersion 2升级到PackageFormatVersion 6,而生产服务器不支持版本6

我的猜测是,Integration Services部署清单使用的是SQL Server 2012的DTSInstall.exe文件,而不是SQL Server 2005的DTSInstall.exe文件

如果在运行软件包安装实用程序之前在文本编辑器中打开.dtsx文件,则有以下值

<DTS:Property DTS:Name="PackageFormatVersion">2</DTS:Property>
2
然后,在运行包安装实用程序之后,将2更改为6,如下所示

<DTS:Property DTS:Name="PackageFormatVersion">6</DTS:Property>
6
该更改使其无法在目标生产服务器上运行。在运行package安装实用程序后,我是否可以确保PackageFormatVersion保持为2

请参见下面截图中的差异。在第一个屏幕截图中,SSISDeploymentManifest文件使用特定的SQL Server 2005集成服务包安装实用程序打开,而在屏幕截图2中,它仅使用一般的SQL Server集成服务包安装实用程序打开

如何在屏幕截图2中像在屏幕截图1中那样具体选择sql server 2005

可执行文件将与.ssisdeploymentmanifest关联。该文件中没有任何内容可以提供有关应使用哪个安装程序的详细信息。见鬼,微软甚至在上面提到了这一点

根据要部署的包的版本,如果同时安装了不同版本的SQL Server,则可能会遇到错误。之所以会发生此错误,是因为所有版本的Integration Services的.SSISDeploymentManifest文件扩展名都相同。双击该文件将调用最近安装的Integration Services版本的安装程序(dtsinstall.exe),该版本可能与部署实用程序文件的版本不同。要解决此问题,请从命令行运行正确版本的dtsinstall.exe,并提供部署实用程序文件的路径

在命令行中,键入
where dtsinstall.exe

C:\Users\bfellows>where dtsinstall.exe
C:\Program Files\Microsoft SQL Server\90\DTS\Binn\dtsinstall.exe
C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\dtsinstall.exe
C:\Program Files\Microsoft SQL Server\100\DTS\Binn\dtsinstall.exe
C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\dtsinstall.exe
C:\Program Files\Microsoft SQL Server\110\DTS\Binn\dtsinstall.exe
C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\dtsinstall.exe
C:\Program Files\Microsoft SQL Server\120\DTS\Binn\dtsinstall.exe
C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\dtsinstall.exe
这将是我的网络路径中的所有gui安装程序。如果我想要运行一个特定的版本,就像您想要2005版本一样,您的选项将变成以下选项之一

  • 我需要从命令行启动它,如“C:\Program Files\Microsoft SQL Server\90\DTS\Binn\dtsinstall.exe”“C:\path\to\project.ssisdeploymentmanifest”

  • 编辑您的环境
    路径
    ,以便首先显示“SQL Server首选版本”

  • 使用其他东西,比如脚本

  • 我使用这样的命令:“C:\Program Files\Microsoft SQL Server\100\DTS\Binn\dtsinstall.exe”“E:\UAT\U Deployment\u Packages\Data\u Final.SSISDeploymentManifest”显示包解聚和验证成功,但包未安装到所需文件夹中…为什么?