0

我已经能够使用 SSMS“导入数据”选项和 VS 2017 SSIS 工具箱(SQL Server 2017)成功创建一个 ssis 包(.dtsx)文件。该包本身可以工作,它会读取一个 csv 文件并将其加载到数据库表中。简单的。这是在 Windows 10 上。

我正在尝试在 Win Server 2012 R2 (Azure VM) 命令行上运行这些包,但它不起作用(它在 VS 2017 中确实有效),因为 dtexec.exe 文件都是 32 位的。对于我的一生,我无法安装 64 位 dtexec.exe 文件。

我试过了

  1. 在 Windows 10 上执行相同的程序,并且可以正常工作。我创建了包,然后我可以通过 dtexec /f "path to .dtsx" 运行它

  2. 我尝试将运行时间设置为 32 位( SSIS 64 位与 32 位),但这不是 SSMS 导入数据工具或 VS 2017 SSIS 工具箱设置/属性中的选项。

  3. 我遇到过这个页面(https://www.sqlservercentral.com/articles/how-to-execute-an-ssis-package-from-the-command-line-or-a-batch-file)但我'不确定将这个包变成'包部署模型'是要走的路。

  4. 我尝试将 64 位 dtexec 和相关文件复制到 Win 2012 R2 机器,但未注册 dll 和代码。

  5. 当我尝试在服务器上安装 SSMS 或 SQL Express 时,我没有获得自定义安装的选项。

我已经确认服务器是 64 位的。

我试过一个天蓝色的逻辑应用程序,但我就是不喜欢那样。

这些是我看到的一些错误

代码:0xC001700A

说明:包中的版本号无效。版本号不能大于当前版本号。

由于错误 0x80040154 无法创建 DTS.Application

我想保持简单并创建一个 ssis 包,然后可以通过预定的命令行脚本在服务器上运行该包。为什么在运行 Windows Server 2012 R2 的 Azure VM 上设置如此困难?

下面是我偶然发现的一些资源。在我看来,VS 2017 SSIS 工具箱的做法是 MS 希望人们使用的。他们怎么能如此轻松地创建工作流并将其存储到一个包中(数据流在 VS 2017 内部的 Win 2012 R2 服务器上工作)但是当需要推出它并使其自动化时,一切都崩溃了? 我肯定错过了什么。任何帮助都会很有用。我到底怎么告诉 VS 2017 创建这个包的 32 位兼容版本?

https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt?view=sql-server-2017

https://docs.microsoft.com/en-us/sql/integration-services/lesson-1-7-adding-and-configuring-the-ole-db-destination?view=sql-server-2017

4

0 回答 0