【问题标题】:Azure SSIS IR - working with files in the temp folder of the IR nodeAzure SSIS IR - 使用 IR 节点临时文件夹中的文件
【发布时间】:2019-07-30 05:05:25
【问题描述】:

我已经设置了自定义 SSIS IR,但是在从 IR 节点上的当前工作目录或临时文件夹读取文件时遇到问题

https://docs.microsoft.com/en-us/sql/integration-services/lift-shift/ssis-azure-files-file-shares?view=sql-server-2017

我的测试包的工作流程是

  • 将压缩文件加载到 Azure 文件共享
  • 解压文件
  • 修改文件,将其保存在IR节点上的当前工作组文件夹(此路径.\testfile.json)
  • 将文件加载到 Azure SQL DB

最后一步是我遇到问题的地方,我收到以下错误消息。可能看起来与安全有关,但不知道如何访问 SSIS IR 节点来检查这一点。

执行 SQL 任务:错误:执行查询“DECLARE @request VARCHAR(MAX) SELECT @request =..." 失败并出现以下错误: “无法批量加载,因为文件“.\testfile.json”不能 打开。操作系统错误代码(空)。”。可能的故障 原因:查询有问题,“ResultSet”属性未设置 正确,未正确设置参数,或未建立连接 正确。

我该如何解决这个问题?

【问题讨论】:

    标签: azure azure-sql-database azure-data-factory-2


    【解决方案1】:

    仅从错误消息来看,您似乎在执行 SQL 任务中使用 BULK INSERT 将数据加载到 Azure SQL DB。 BULK INSERT into Azure SQL DB 只能从 Azure 存储 Blob 工作,但不能从文件系统/SSIS IR 节点工作。要将数据从 SSIS IR 节点的当前工作目录加载到 Azure SQL DB,可以使用具有平面文件源和 ADO.NET 目标的数据流。

    【讨论】:

    • 很遗憾,因为从文件系统批量加载似乎是一种常见的 ETL 操作。平面文件源不适合我的情况。此外,从 BLOB 批量加载也不合适,因为我们的文件位于也不支持批量加载的 FileShare 中目前对我们来说值得......
    猜你喜欢
    • 1970-01-01
    • 2016-03-14
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多