我要在程序中调用dts包,当把它存为结构化存储文件时,这个文件是否放在任何地方都行?另外问一下,如何把已经做好的dts包拷贝到目的服务器上直接运行?

解决方案 »

  1.   

    需要使用 dtexec 这个程序来执行 dts 包
      

  2.   

    sql server2000下没找到这个程序
      

  3.   

    刚开始执行挺好,不知怎么回事突然报错:
    Project dts.exe raised exception class EOleException with message
    '指定的存储文件中包含多个包;装载时要求有名称或Guid。'.Process
    stopped. Use Step or Run to continue.
    //代码如下////////////////////////////////////////////////////////
    function TForm1.execdts(strdts_name: string): boolean;
    var
        n:   variant;
        oconnection:   variant;
        ostep,otask,ocustomtask,mopackage:   variant;
    begin
          mopackage   :=   createoleobject('dts.package2');
          oconnection   :=   mopackage.connections.new('sqloledb');
          ostep   :=   mopackage.steps.new;   
          otask   :=   mopackage.tasks.new('dtsexecutepackagetask');
          ocustomtask   :=   otask.customtask;   
          mopackage.failonerror   :=   true;   
        
          ocustomtask.packagepassword   :='';
          ocustomtask.filename   :=   strdts_name;
          ocustomtask.name   := 'execpkgtask';
        
          ostep.taskname   :=   ocustomtask.name;
          ostep.name   := 'execpkgstep';
          ostep.executeinmainthread   :=   true;
        
          mopackage.steps.add(ostep);   
          mopackage.tasks.add(otask);
          try   
              mopackage.execute; <---这里报错
          except
              ocustomtask   :=   n;
              otask   :=   n;
              ostep   :=   n;
              mopackage.uninitialize;
              execdts   :=   false;   
              exit;   
          end;   
        
          execdts   :=   true;
          ocustomtask   :=   n;
          otask   :=   n;
          ostep   :=   n;   
          mopackage.uninitialize;
    end;
      

  4.   

    在没装sqlserver2000的机器上提示:无效的类别字符串在安装有sqlserver2000的机器上没任何提示,就好像什么也没发生而在我本机上正常dts包执行的是将本地一个xls文件导入服务器指定表中