在命令行上覆盖SSIS配置设置?

时间:2010-03-10 22:09:40

标签: sql-server-2008 ssis

我正在尝试从SQL Server Management Studio运行SSIS包,并且无法覆盖配置设置。就我而言,它是一个平面文件的位置。我正在使用的命令是:

declare @returncode INT
exec @returncode = xp_cmdshell 'dtexec 
 /SQL "\ImportData" 
 /SERVER "myserver" 
 /CONNECTION "ImportData flatfile connection";"C:\files\ballot.dat" 
 /MAXCONCURRENT " -1 "
 /CHECKPOINTING OFF /REPORTING E'

正如您在上面所看到的,我正在尝试使用c:\​​ files \ ballot.dat作为相关的平面文件来运行它。但是,在执行此操作时,SSIS将恢复使用存储在其配置文件中的设置,该设置指向硬盘驱动器上的其他位置(和ballot.dat文件)。

有没有办法在从命令行调用包时覆盖它?谢谢你的建议。

2 个答案:

答案 0 :(得分:1)

您可以做的是添加SSIS包配置XML文件。在此配置中,您可以指定所有连接管理器(仅包括连接字符串)。将此文件保存为c:\ otherconfig.xml或类似的东西。编辑文件,您应该看到列出的连接,并且您可以编辑连接字符串。

使用dtexec运行软件包时,您应该可以使用/ configuration在该配置文件中运行它。

另请注意,从2005年到2008年,在处理连接和包配置方面有很多变化。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/bb500430.aspx

答案 1 :(得分:-1)

您需要设置* full“连接字符串,而不仅仅是文件名...

/CONNECTION "ImportData flatfile connection";"Provider=...;Data Source=C:\files\ballot.dat"