我需要让用户将Excel / CSV文件导入我的数据库。
目前,我有一个VB.net应用程序,它只允许我将CSV文件导入我们的数据库。而不是扩展此应用程序以满足我的需求,并将其部署到用户导入数据,我正在考虑切换到SSIS。
如何部署软件包以便我的用户能够使用它们导入Excel / CSV文件?我知道SSIS不是一个前端,所以我不应该用它来满足我的需求吗?它仅用于SQL开发人员导入数据吗?
此外,我的用户没有使用SQL或使用数据库的经验。它们用于将他们的excel文件放在Sharepoint上或通过电子邮件传递它们。我刚刚将它们介绍给了SSRS,它作为一种报告服务非常有效,但我需要一个简单可靠的导入过程。
答案 0 :(得分:3)
可能不是出于几个原因:
您必须为要运行的程序包部署SSIS运行时 - 这不是通常要做的事情。您可能需要支付许可费用
SSIS存储元数据(即源和目标中的列的类型和数量)。如果此元数据发生更改,则程序包通常会失败
SSIS是一种服务器工具。它并非真正建立用户反馈
Excel作为来源很难有两个原因:
没有验证。用户可以在其中添加任何内容,包括无效或缺失值
Excel驱动程序通过动态检查行来计算元数据,这有时是不正确的(我确定您已经在程序中遇到过这种情况)
自定义构建的解决方案需要更多维护,但具有更大的灵活性,并且您可能需要这种灵活性,因为您拥有excel源。
如果您的excel文件每次都保证干净,并且所有用户都使用单个SQL Server(使用单一许可安装的SSIS),那么它可能是实用的。
在这种情况下,您需要将来自其他地方的一致数据文件自动上载到数据库中。在这种情况下,SSIS可以通过以下经过验证的模式提供帮助:
这样,不需要将胖客户端应用程序部署到每个人。相反,任何用户都可以删除文件(如果他们有共享访问权限),它将自动被拉入
用户还可以通过检查文件夹
来确认文件是否成功以下是导入文件夹中所有文件并在完成时移动它们的包的示例: