gpt4 book ai didi

sql-server - SSIS 能满足我的需求吗?

转载 作者:行者123 更新时间:2023-12-04 21:54:10 24 4
gpt4 key购买 nike

我需要让用户将 Excel/CSV 文件导入我的数据库。

目前,我有一个 VB.net 应用程序,它只允许我将 CSV 文件导入我们的数据库。我没有扩展这个应用程序来满足我的需求,并将它部署给用户来导入数据,我正在考虑切换到 SSIS。

如何部署包以便我的用户能够使用它们来导入 Excel/CSV 文件?我知道 SSIS 不打算用作前端,所以我不应该将它用于我的需要吗?它只用于SQL Developers 导入数据吗?

此外,我的用户没有使用 SQL 或使用数据库的经验。他们习惯于将 Excel 文件放在 Sharepoint 上或通过电子邮件传递。我刚刚将它们介绍给 SSRS,它作为报告服务工作得非常好,但我需要一个简单可靠的导入过程。

最佳答案

可能不是因为几个原因:

  • 您必须部署 SSIS 运行时才能运行包 - 这不是通常要做的事情。您可能需要支付许可费用
  • SSIS 存储元数据(即源和目标中列的类型和数量)。如果此元数据更改,则包通常会失败
  • SSIS 是一个服务器工具。它并不是真正为用户反馈而构建的

  • Excel 作为一个来源是困难的,原因有两个:
  • 它没有验证。用户可以在其中放入任何他们想要的内容,包括无效或缺失值
  • Excel 驱动程序通过动态检查行来计算元数据,这有时是不正确的(我相信您已经在程序中遇到过这种情况)

  • 自定义构建的解决方案需要更多的维护,但具有更大的灵 active ,并且您可能需要这种灵 active ,因为您拥有 excel 资源。

    如果保证您的 excel 文件每次都是干净的,并且您的所有用户都使用单个 SQL Server(带有 SSIS 的单个许可安装),那么它可能是实用的。

    添加以反射(reflect)以下讨论:

    在这种情况下,您有来自其他地方的一致数据文件需要自动上传到数据库中。在这种情况下,SSIS 可以通过以下经过验证的模式提供帮助:
  • 用户(或进程)保存文件保存到特定共享文件夹
  • 计划在 SQL 代理中每(例如)一分钟运行一次的包会导入该文件夹中的所有文件
  • 如果导入成功,文件将移至“成功”文件夹
  • 如果导入不成功,文件将移至“失败”文件夹

  • 这样,不需要将胖客户端应用程序部署给每个人。相反,任何用户都可以删除文件(如果他们具有共享访问权限),它将被自动拉入

    用户还可以通过检查文件夹来确认文件是否成功

    这是一个导入文件夹中所有文件并在完成时移动它们的包示例:

    SSIS - How to loop through files in folder and get path+file names and finally execute stored Procedure with parameter as Path + Filename

    关于sql-server - SSIS 能满足我的需求吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48142572/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com