2010-03-10 42 views
1

我試圖從SQL Server Management Studio運行SSIS包,並且在覆蓋配置設置時遇到問題。就我而言,這是一個平面文件的位置。我使用的命令是:覆蓋命令行上的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:\文件\ ballot.dat所討論的平面文件。但是,當這樣做時,SSIS會恢復使用存儲在其配置文件中的設置,該文件指向硬盤驅動器上的其他位置(和ballot.dat文件)。

從命令行調用程序包時是否有重寫該方法的方法?感謝您的建議。

回答

-1

您需要設置*滿」的連接字符串,而不僅僅是文件名...

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

感謝您的幫助。不幸的是,根據Execute Package Utility的「連接管理器」選項,這是整個連接字符串。 對於我來說,連接管理器列讀取「ImportBallot平面文件連接」,而ConnectionString設置爲「C:\ files \ ballot.dat」。提供者設置沒有什麼關係,儘管如果有人碰巧知道它應該是什麼,我可以嘗試一個嗎? – larryq

1

你可以做的是增加一個SSIS包的配置XML文件。在這種配置中,可以指定所有的連接管理器(只包括連接字符串),將這個文件保存爲c:\ otherconfig.xml或類似的東西編輯文件,你應該看到你的連接列表,並且你可以編輯連接字符串。使用dtexec運行軟件包,您應該可以使用/ configuration使用該配置文件運行它。

另請注意,2005年至2008年間如何處理連接和程序包配置方面發生了很多變化。有關更多詳細信息,請參閱http://msdn.microsoft.com/en-us/library/bb500430.aspx