Sql server 2008 如何从文件中获取文件名,在SQL表列中查找该值,然后使用SSIS从其他列返回值?

Sql server 2008 如何从文件中获取文件名,在SQL表列中查找该值,然后使用SSIS从其他列返回值?,sql-server-2008,tsql,foreach,ssis,file-rename,Sql Server 2008,Tsql,Foreach,Ssis,File Rename,使用SSIS 2008和T-SQL:如何从文件中获取文件名并在SQL表列中查找该值,然后从另一列返回值 我有一个文件夹,其中有产品的.jpg图像文件。所有文件名的格式均为eancode.jpg,例如1234567891023.jpg。每个文件名都是唯一的:每个产品的每个图像文件都有一个eancode productID主键、varchar和eancode varchar存储在同一个SQL表中,当然没有.jpg扩展名 我想做的是将文件从eancode.jpg重命名为productID.jpg 这就

使用SSIS 2008和T-SQL:如何从文件中获取文件名并在SQL表列中查找该值,然后从另一列返回值

我有一个文件夹,其中有产品的.jpg图像文件。所有文件名的格式均为eancode.jpg,例如1234567891023.jpg。每个文件名都是唯一的:每个产品的每个图像文件都有一个eancode

productID主键、varchar和eancode varchar存储在同一个SQL表中,当然没有.jpg扩展名

我想做的是将文件从eancode.jpg重命名为productID.jpg

这就是我心目中的过程,例如:

FolderA中的文件:

ean1.jpg ean2.jpg ean3.jpg 步骤/任务:

从ean1.jpg获取文件名ean1 在表列EANcode中查找ean1 返回相应的productid:从EANcode='ean1'的表中选择productid 将步骤3返回的值存储到包变量中 使用步骤4的存储值重命名文件名 在foreach循环中对所有图像执行步骤1-5;如果找不到匹配项,则不应对文件执行任何操作。 我的问题主要集中在第2-4步。
谢谢

您建议的解决方案将非常有效。将执行sql任务的“常规”选项卡中间的结果集设置为单值,然后从“结果集”选项卡中将基于零的结果值映射到包变量

Yes!这是可行的,我就快到了,但不得不调整结果集中的一些设置,还得到了什么?在sql中更正。谢谢