我一直在使用SSIS已经有一段时间了,它一直在告诉我,如果你打开一个没有它在解决方案中的SSIS包,Visual Studio中就没有可用的调试或执行选项。
在我当前的项目中,我需要编辑一些从文件系统执行的服务器上留下的SSIS包。问题是部署阶段没有(也不应该)包括复制解决方案(.sln)文件。如果我然后在默认位置创建解决方案并添加包,则会将其复制(而不是直接引用它们)。这是一个问题,因为有些人执行驻留在同一目录中的其他包。因此,我必须复制SSIS包,编辑,测试,将其复制回原始位置。正如你想象的那样,这有时会非常烦人。
所以我想知道,有没有办法执行这些包而不将它们包含在解决方案中?
我正在使用Visual Studio 2008,为SQL Server 2008制作SSIS包。
答案 0 :(得分:7)
我同意。这是一种彻底的痛苦。您可以创建一个项目,其中包含一个简单的“包装器”包,其中包含一个执行包任务,该任务只是跳转到您要调试的包。当您调试包装器时,它将打开您的真实包,您可以调试。不理想,但至少是它的东西。
答案 1 :(得分:1)
不,你不能在VS内部进行,并且在没有项目的情况下使用SSIS调试器。您当然仍然可以使用DTEXEC.EXE在VS之外运行它。
(从技术上讲,软件包必须是项目 - .dtproj文件的一部分,如果需要,VS会创建解决方案,因此您可以跳过.sln文件)
答案 2 :(得分:0)
您也可以将包的xml添加到.dtproj文件中。这将允许您打开并将其作为包的一部分运行
答案 3 :(得分:0)
在不使用SQL Server Business Intelligence Development Studio的情况下,有多种方法可以执行包。
<强> 1。使用命令行实用程序(DTEXEC.EXE)执行SSIS包:
使用命令行实用程序并转到存储SSIS包的文件路径。 DTEXEC.EXE可能位于计算机的另一个路径中,因此请在此之前进行检查。
例如:C:\ Program Files \ Microsoft SQL Server \ 100 \ DTS \ Binn&gt; DTEXEC.EXE / F“C:\ Packages \ SSISPackageToRun.dtsx”
<强> 2。使用Execute Package Utility(DTEXECUI.EXE)执行SSIS包:
运行Execute Package Utility并从文件系统中选择要运行的程序包。单击“执行”按钮以运行包。
您也可以直接转到文件系统中的软件包,右键单击并选择打开(或使用Execute Package Utility打开,具体取决于设置),Execute Package Utility(DTEXECUI.EXE)将自动打开。单击“执行”按钮以运行包。
第3。使用Microsoft SQL Management Studio执行SSIS包:
右键单击对象资源管理器中的包,然后选择“运行包”。
<强> 4。使用SQL Server代理作业执行SSIS包:
创建SQL作业并在作业步骤中运行包。之后运行包含您的包的sql作业。
以下是良好解决方案的摘要: https://www.mssqltips.com/sqlservertip/1775/different-ways-to-execute-a-sql-server-ssis-package/