在 ssis 组件 OLE DB 命令中:
insert into D_MAPPING_CLIENTS (ID, DIRECTORY_ID, SOURCE_ID, BASE_ID)
  values (
     case when exists ( select 1 from D_MAPPING_CLIENTS )
           then ( select MAX(ID) + 1 from D_MAPPING_CLIENTS )
         else 1
     end
  , ISNULL(?, 
      case when exists ( select 1 from D_MAPPING_CLIENTS )
             then ( select MAX(DIRECTORY_ID) + 1 from D_MAPPING_CLIENTS )
           else 1
       end ) 
   , ( select ID from D_SOURCES_CLIENTS where SOURCE = 'D:\load\1\clients.txt' )
   , ?)
当我尝试保存它时,我收到一个错误:“插入值列表与列列表不匹配”,尽管当我在 Management Studio 中运行此脚本时它工作正常。
有什么问题?
UPD:我在哪里替换最后一个“?” 对某些价值来说它工作正常:o