ssis 中关于变量使用的有关问题,不知道错哪了

ssis 中关于变量使用的问题,不知道哪里错了。
现在要把某个文件夹下的所有access文件导入到sql server同一张表中。所有access的结构都是相同的。sql server相对access来说多了一列,就是access的文件名。我是这么做的:
1、用了foreach循环容器,选择
Foreach 文件枚举器,设置了文件夹路径,然后新建一个变量filepath保存文件名和扩展名。
2、在数据源连接管理器中,选择sql 命令访问模式,书写sql语句如下:
  SELECT @[user::filepath], 科目编码, 科目名称 FROM 凭证库

  系统总是报格式错误。不知道为什么?急……

------解决方案--------------------
剪剪的blog就有。
------解决方案--------------------
貌似他可以接受这样的 select ... where columnname = ?,接受不了select ?

我又试了一下这种 select ? = ?,设置了两个变量,运行不报错误,但第二个变量的数据类型无法改变,貌似只能是整形。

建议使用派生列来解决问题