我正在使用 SSIS (Visual Studio 2017) 将许多 .csv 文件加载到 SQL Server 表中。
我正在使用 For Each 循环容器。我有两个用户变量 - FileName (string) 和 RowCnt (int)
我开发了一个审计表 (dbo.FEfiles) 来跟踪每个加载的文件以及每个文件中的记录数。
审计表有两列:
1) 文件名(varchar(20)
2) 行数(int)
在 For Each 循环容器内设置数据流任务后,我有一个连接到我的审计表的执行 SQL 任务。
在这个执行 SQL 任务中,在表达式选项卡中,在 SQLStatementSource 下,我有以下表达式来单独获取文件名:
"插入到 dbo.FEfiles (文件名) SELECT '" + @[用户::文件名] + "'"
当我评估表达式时,这会正确解析,我得到:
插入到 dbo.FEfiles(文件名)选择“文件名.CSV”
现在,如何为具有整数数据类型的 RowCnt 添加变量?
我尝试了许多选项,例如以下选项:
"插入到 dbo.FEfiles (FileName,RowCount) SELECT '" + @[User::Filename] + "', + (DT_WSTR, 12) @[User::RowCnt] "
当我评估表达式时,我得到以下信息:
插入 dbo.FEfiles (FileName,RowCount) SELECT 'filename.CSV', + (DT_WSTR, 12) @[User::RowCnt]
我需要改为: INSERT INTO dbo.FEfiles (FileName,RowCount) SELECT 'filename.CSV', 0
你能帮我找到正确的表达方式吗?
我什至看过这个视频,但无法弄清楚: