因为每天要用DTS包去导数据,但是文件名是按日期来变化的,请问有没有方法可以设置DTS包去动态的抓取源文件,然后动态的导入相应日期的表中。这样就可以用作业来跑了,否则每天总是要重复差不多的动作。

解决方案 »

  1.   

    使用ActiveX脚本和动态属性任务可以实现你的目的
      

  2.   

    这个你在ActiveX中用变量来做啊
    给你说个大概的思路,我这些只在2005的SSIS中做过
    建一个变量
    然后给变量赋时间的值,再动态的的把变量的值放到源里边
    然后每次调用
    他就会自动去找文件了
      

  3.   

    http://www.microsoft.com/china/technet/prodtechnol/sql/2000/deploy/dtssql2k.mspx
    http://faq.xunweb.org/itfaq/mssql3/2006-06-05/13073.html
      

  4.   

    给你个参考,这是我用SQL的自动发邮件写的,自动按日期查询,然后把结果自动按日期保存为XLS文件,然后把XLS文件自动作为附件提取到邮件附件里发送
    CREATE proc savexls
    @fname varchar(100)='' output,
    @path varchar(100)='' output
    asdeclare @return int,@Vshpchd varchar(20)
    set @return=0
    exec @return=khyy.hszy.dbo.pr_getemail @vshpchd output
    set @fname=@vshpchd+cast(datepart(month,dateadd(month,-1,getdate()))as varchar(20))+'月'+'.xls'--文件名根据日期动态生成
    set @path='f:\zwmail\'--EXLCEL文件路径
    exec p_exporttb 
    @sqlstr='select * from openrowset(''sqloledb'',''Trusted_Connection=yes'',''exec khyy.hszy.dbo.pr_getemail'')',
    @path=@path,
    @fname=@fname,
    @sheetname='陕西生'
      

  5.   

    我想要根据日期自动创建表,然后再根据日期提取数据源文件,转换到创建的表中这个应该怎么做啊?怎么用DTS给表动态的取名字哪?怎么再动态的抓取源文件那。我对DTS很感冒,还希望各位大大指点指点