在此问题的扩展中:Import Multiple CSV Files to SQL Server from a Folder
正如问题所述,我想从CSV将多个表从一个文件夹导入SQL服务器。但事情就是在我的情况下,我可以拥有多达17个不同的表,它们都有不同的布局。有些有2列,有些则有10列。
是否可以创建一个脚本,该脚本根据CSV文件的名称考虑不同的表设置,如果表实际存在于文件夹中,则将其导入正确?
好处是CSV文件永远不会改变名称/布局。但并非所有17个表都用于每个项目。
我想要粗略的代码以及适当的评论,以便我理解它。
有人请帮我解决这个问题。 非常感谢提前:)
答案 0 :(得分:0)
这是使用 SQL Server Integration Services(SSIS)的完美情况,只要您在工作环境中可以使用它。 (我会假设你这样做,或者可以安装它。)
SSIS本身就是一个巨大的平台,所以我无法解释如何在这里使用它的一切。一些开始学习它的好地方是:
还有很多书籍和其他网站。
从广义上讲,您首先需要创建一个SSIS“包”,它是.dtsx扩展名的文件。您可以使用Microsoft Visual Studio或Microsoft SQL Server数据工具在本地PC上创建它。它具有合理的用户友好图形界面。
在此程序包中,您需要为17个可能的文件中的每个文件配置数据源,然后将它们“映射”到目标SQL数据库中的相应表。
如果您正确设置它,如果某些文件实际上不存在,那么包将正常工作 - 它将加载任何存在的文件。 这就是为什么SSIS在您的用例中是一个不错的选择的关键。
创建包后,有多种方法可以使用/部署它。根据您的意见和问题,我认为最适合您的方式可能是:
软件包也可以保存为任何文件夹位置的独立可执行文件,并通过双击在Windows中运行(无需再次打开Visual Studio / SSDT)。