【问题标题】:SSIS Excel/CSV from Sharepoint to SQL Server从 Sharepoint 到 SQL Server 的 SSIS Excel/CSV
【发布时间】:2018-06-16 19:33:07
【问题描述】:

我需要从 Sharepoint 获取 Excel/CSV 文件并将它们放入 SQL Server 上的表中。
我希望这些包能够自动部署,因此无论何时有人在特定文件夹/子文件夹中放入一个新的 excel 文件,它都会将它拍摄到我的数据库中。

有没有办法做到这一点,而无需在本地下载文件,而只需从共享点本身传输?我已经知道如何在本地获取 excel 文件并通过 SSIS 导入它。

这个想法是让对 SQL Server 和 SSIS 一无所知的人只需将 excel 文件上传到 sharepoint 即可导入数据。

【问题讨论】:

    标签: sql-server excel sharepoint ssis etl


    【解决方案1】:

    如果您在基于云的环境中,您的需求可以在 Office 365 中通过 Microsoft Flow 或在 Azure 中使用逻辑应用程序来处理(它们都使用相同的引擎)。它本质上是连接器和任务的无代码配置。

    1. 在 MS Flow 中,添加 SharePoint 连接器并将其设置为在您的 SharePoint 目录中添加或更新文件时触发流。这在界面中将相当直观。

    2. 然后,您需要添加一个步骤以将文件下载到用户的 OneDrive,以便可以打开和访问它。我直接将它下载到 OneDrive 根目录,然后在处理流中的数据后删除了该文件。这有点迂回,但目前没有直接使用流或逻辑应用程序访问 SharePoint 文件的功能(据我所知)。

    3. 使用 GetRows 操作创建一个处理 OneDrive 文件的步骤,以处理文件中的每一行。

    4. 在 GetRows 操作的循环中,您建立 SQL Server 连接并连接 INSERT 查询或调用存储过程来加载 SQL 表。

    5. 如果需要,您还可以向用户列表发送通过/失败电子邮件。

    我正在简化解决方案,但是一旦您熟悉了 Flow/Logic Apps 界面,它就会相对直观。克服界面的一些特质需要一点头绪,它有其局限性,但最终我通过了它,它就像一个魅力。此外,由于流/逻辑应用程序每 5 分钟左右轮询一次 SharePoint 文件夹以获取新的/修改的文件,因此有时需要长达 5 分钟才能处理流,因此如果您需要即时结果,这是一个缺点。

    【讨论】:

      【解决方案2】:

      我做了一个类似的场景,但没有使用 sharepoint,我正在从本地目录监听。希望这个答案能让你走上正确的道路。

      我认为您必须使用/构建一个侦听特定文件夹的应用程序,并在添加 excel 文件时使用 dtexec 实用程序执行包。

      您可以参考这些链接了解更多信息:

      【讨论】:

      • 非常感谢您。我很可能可以通过 VB.net 或 powershell 完成此操作。但是,我最关心的是如何获取位于 sharepoint 上的 excel 文件,并使用 SSIS 将其传递给 sql server。我似乎无法在其他任何地方在线找到答案。
      • social.msdn.microsoft.com/Forums/sqlserver/en-US/…查看此链接可能对您有所帮助
      • 如果无法从sharepoint读取,请尝试自动化文件下载过程
      • 在我的问题中我指定我不想在本地下载文件。这意味着该进程正在我的个人计算机上运行。
      • marketplace.visualstudio.com/… 我想这就是你要找的。​​span>
      猜你喜欢
      • 2020-11-09
      • 2012-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多