我正在尝试从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文件)。
有没有办法在从命令行调用包时覆盖它?谢谢你的建议。
答案 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"