导入/导出向导会创建一个名为 .DTSX 的文件。这是你的 SSIS 包。SSIS 包是一个包含大量 XML 的文本文件。将此与以 .EXE/.COM 结尾的内容进行对比,后者是任何 Windows 机器都可以运行的可执行文件。
我们需要一些东西来使用该 .dtsx 文件并执行其中描述的 ETL 操作。您可以选择三个选项:dtexec.exe、dtexecui.exe和自定义 .NET 代码。dtexecui 只是命令行的图形包装器,所以实际上,您运行包的选择是预构建的命令行实用程序或自定义代码。通过 dtexec 运行一个包可以很简单dtexec.exe /file C:\MyPackage.dtsx
由于您想从 SSMS 的上下文中运行它,因此您需要创建一个 SQL 代理作业或创建一个调用 dtexec 的存储过程。由于您是整个行业的新手,因此该职位将提供最低的进入门槛。
在您的 SSMS 中,连接到一个实例并导航到底部。您应该会看到“SQL Server 代理”展开该节点并右键单击“作业”并选择新建作业。在“步骤”选项卡中,单击“新建...”。将类型更改为“SQL Server Integration Services 包”
选择您的源(文件系统或 SQL Server) 填写服务器名称或包所在的位置,您应该可以开始使用了。
您需要知道的一件非常重要的事情是 Excel 驱动程序只能在 32 位模式下工作。这意味着您将需要使用存在于的 dtexec.exeC:\Program Files (x86)\Microsoft SQL Server\XXX\DTS\Binn\dtexec.exe
要从 SQL 代理作业中获取该行为,然后您需要将 /X86 选项添加到命令行,例如
![在此处输入图像描述](https://i.stack.imgur.com/eGtYk.png)
x86 标志仅适用于 SQL 代理作业调用。从命令行,您必须使用正确版本的 dtexec.exe