请教一个问题:
  在使用DTS的数据转换任务时,源数据的查询SQL很复杂,其中包含有临时表,此时在设置转换时系统提供错误。
  请问除了在来源数据库中写存储过程,还有其他办法吗?
  我在考虑使用链接服务器来做ETL,这种直接写SQL的方式和DTS相比各有什么优劣?
  请大家多指教,谢谢!

解决方案 »

  1.   

    DTS,方便,直观,还可以加JOB 以后的扩展性也比较好 2005的DTS还是很强大的, 一家之言
      

  2.   

    不太清楚,不过2005没有dts了吧.是叫ssis吧
      

  3.   

    05的SSIS:由于在SSIS中加入了DTS以前很多没有的新内容,微软把DTS重命名为SSIS(集成服务)楼主可以通过查看工具箱来区分新的SSIS版本SSIS主要4个部份:
    SSIS服务:是负责处理SSIS的运行,是一种windows服务
    SSIS运行时引擎和运行时可执行文件
    SSIS数据流引擎和数据流组件
    SSIS客户端
    ---------
    功能很多,楼主找一本这方面的书看看/或在网上找PDF电子书
      

  4.   

    因为客户是使用sql2000,还不能使用SSIS来做。
    我将SQL中的临时表去掉了,但因SQL语句比较复杂,添加“?”做参数后系统提示错误。
      

  5.   

    尝试写存储过程吧, 复制的数据源DTS无法直接处理, 2005的SSIS一样无法直接处理
      

  6.   

    to zjcxc:
      因为数据来源于上百个数据库,所以一直不想写存储过程,因为要到每个来源数据库中生成存储过程,并在修改后保持同步。
      昨天发现可以使用“复制 SQL Server 对象任务”复制存储过程,这样可以将存储过程放在一个模板数据库,然后通过该任务复制到其他数据库。这样需要解决的问题是如何在适当的时候复制存储过程,而不是每次ETL都复制。
      另外,ETL的存储过程中同样不能使用临时表,郁闷。