我正在尝试执行一个非常基本的过程:

  • (重置)截断表
  • 循环浏览文件文件夹
  • 检查文件表
  • 中是否存在文件名
  • 如果不是,则将文件中的数据导入数据表
  • 将FileName插入FILES表

  • 我可以让它遍历文件的文件夹,加载它们,然后将文件名插入表中。但是,我无法使约束起作用,因此它只能加载FILES表中尚未存在的文件。

    这是我的整体设置:

    sql-server - 无法获得约束以在ForEach循环中处理SQL任务-LMLPHP

    变量:

    sql-server - 无法获得约束以在ForEach循环中处理SQL任务-LMLPHP

    这是ForEach循环设置:

    sql-server - 无法获得约束以在ForEach循环中处理SQL任务-LMLPHP
    sql-server - 无法获得约束以在ForEach循环中处理SQL任务-LMLPHP

    “表中存在文件” SQL任务:

    sql-server - 无法获得约束以在ForEach循环中处理SQL任务-LMLPHP
    sql-server - 无法获得约束以在ForEach循环中处理SQL任务-LMLPHP
    sql-server - 无法获得约束以在ForEach循环中处理SQL任务-LMLPHP

    我试过了:
    SELECT COUNT(id) as id FROM PORG_Files WHERE filename = ?
    

    我还尝试了SqlStatementSource表达式:
    "SELECT COUNT(id) as id FROM PORG_Files WHERE filename = '" + @[User::CurrentFileName] + "'"
    

    但是我不确定使用Expression时如何处理General下的SQLStatement。

    这是始终看起来是正确的约束:

    sql-server - 无法获得约束以在ForEach循环中处理SQL任务-LMLPHP

    我认为问题出在路径格式中,变量具有双\ s,但是用REPLACE进行更正后,它不起作用。

    为了达到良好的效果,这是“将文件插入表” SQL任务:

    sql-server - 无法获得约束以在ForEach循环中处理SQL任务-LMLPHP
    sql-server - 无法获得约束以在ForEach循环中处理SQL任务-LMLPHP
    sql-server - 无法获得约束以在ForEach循环中处理SQL任务-LMLPHP

    文件可以很好地插入表中,这是表的外观:

    sql-server - 无法获得约束以在ForEach循环中处理SQL任务-LMLPHP

    我到底在做什么错?!?!

    谢谢!!

    最佳答案

    您是否尝试过将ResultName id更改为 0

    sql-server - 无法获得约束以在ForEach循环中处理SQL任务-LMLPHP

    您可以看看documentation以供参考。
    sql-server - 无法获得约束以在ForEach循环中处理SQL任务-LMLPHP

    10-07 14:58