如何向文件添加多个文件扩展名:Foreach 循环容器 SSIS 中的输入字段
How to add multiple file extensions to the Files: input field in the Foreach loop container SSIS
如何向文件添加多个文件扩展名:SSIS 2008 中 Foreach 循环容器中的输入字段。
我目前输入的是 *.zip
或 .csv
看图片...但它不起作用只有当我有一个值时才有效 *.zip
我认为您不能在 For each Loop container
中指定两个文件类型扩展名,您应该使用 *.*
并且您可以使用以下步骤过滤特定的扩展名:
- 添加布尔类型的变量(例如:
User::Flag
)
- 在容器内添加一个
script task
并将Filename
变量标记为只读,Flag
变量标记为ReadWrite
在脚本里面写下面的脚本
Public Sub Main()
Dim strFile As String = Dts.Variables.Item("Filename").Value.ToString
Select Case IO.Path.GetExtension(strFile).ToLower
Case ".csv", ".zip"
Dts.Variables.Item("Flag").Value = True
Case Else
Dts.Variables.Item("Flag").Value = False
End Select
Dts.TaskResult = ScriptResults.Success
End Sub
向 Script task
输出连接器添加表达式,如下所示
或者你可以使用第三方组件如Foreach File Enumerator with regex
来实现
Step 1) 创建一个存储文件名和扩展名的变量。
Step 2) 在foreach循环容器下映射我们在step 1中创建的变量。
Step 3 ) 在 foreach 循环容器内创建一个执行 sql 任务,添加连接并在 sql 语句下输入代码 insert into tablename(filename) values (?).
Step 4) Under parameter映射 select 我们在变量名下创建的变量,将数据类型更改为 nvarchar 并将参数更改为 0。
步骤 5) 在字符串函数的帮助下,您可以在帮助下创建表达式像 right
这样的字符串函数
如何向文件添加多个文件扩展名:SSIS 2008 中 Foreach 循环容器中的输入字段。
我目前输入的是 *.zip
或 .csv
看图片...但它不起作用只有当我有一个值时才有效 *.zip
我认为您不能在 For each Loop container
中指定两个文件类型扩展名,您应该使用 *.*
并且您可以使用以下步骤过滤特定的扩展名:
- 添加布尔类型的变量(例如:
User::Flag
) - 在容器内添加一个
script task
并将Filename
变量标记为只读,Flag
变量标记为ReadWrite
在脚本里面写下面的脚本
Public Sub Main() Dim strFile As String = Dts.Variables.Item("Filename").Value.ToString Select Case IO.Path.GetExtension(strFile).ToLower Case ".csv", ".zip" Dts.Variables.Item("Flag").Value = True Case Else Dts.Variables.Item("Flag").Value = False End Select Dts.TaskResult = ScriptResults.Success End Sub
向
Script task
输出连接器添加表达式,如下所示
或者你可以使用第三方组件如Foreach File Enumerator with regex
来实现Step 1) 创建一个存储文件名和扩展名的变量。
Step 2) 在foreach循环容器下映射我们在step 1中创建的变量。
Step 3 ) 在 foreach 循环容器内创建一个执行 sql 任务,添加连接并在 sql 语句下输入代码 insert into tablename(filename) values (?).
Step 4) Under parameter映射 select 我们在变量名下创建的变量,将数据类型更改为 nvarchar 并将参数更改为 0。
步骤 5) 在字符串函数的帮助下,您可以在帮助下创建表达式像 right