DTS包可以通过DTSRun这个Windows命令去调用。
具体参数你去看SQLServer的联机帮助。
在Java里调用命令行,或者连接到数据库后用xp_cmdshell去调用命令行。

解决方案 »

  1.   

    JAVA怎么调度DTS包,不是很清楚,但是LZ可以换个思路,用JAVA调度其它东西来间接调度DTS。
      

  2.   

    用xp commnand shell 就可以调用包了,用java 调用xp commnand shell 存储过程不就行了吗?
    你不要告诉我java调用存储过程也不会哦。
    CREATE PROCEDURE [dbo].[PSSIS]
    AS
    EXEC master.dbo.xp_cmdshell 'dtexec  /F E:\Package.dtsx'
      

  3.   

    这是存储过程代码
    CREATE PROCEDURE [dbo].[PSSIS]
    AS
    EXEC master.dbo.xp_cmdshell 'dtexec  /F E:\Package.dtsx'
    直接用java调用吧。
    偶不懂java,这是C#的常用的方法
    下面的PSSIS就是这个procedure。
     protected void Button1_Click(object sender, EventArgs e)
        {
            SqlConnection conn = new SqlConnection("Server=(local);database=databasename;Integrated Security=SSPI");
            SqlCommand cmd = new SqlCommand("PSSIS", conn);
            cmd.CommandType = CommandType.StoredProcedure;        try
            {
                conn.Open();
                cmd.ExecuteNonQuery();
               
            }
            finally
            {
                conn.Close();
            }
        }
    }
      

  4.   

    http://superxgz.javaeye.com/blog/53235
    步骤蛮详细的,可能对你有用。
      

  5.   

    Java中通过jacob调用dts进行数据导入导出 
    关键字:   java jacob dts 导入导出     
    第一步: 
    下载jacob 
    http://danadler.com/jacob/jacobBin_17.zip 
    解压后将dll文件放到%JAVA_HOME%\jre\bin目录下,将jar文件放到%JAVA_HOME%\jre\lib\ext目录下,不用再配置环境变量第二步: 
    创建dts文件 
    直接用sqlserver2000的导入导出工具创建一个dts任务,并保存为存储结构文件,放到比如d:\temp\dts\dts_test.dts第三步: 
    通过java调用dts文件执行数据导入导出 
    代码
    package dbf;   
      
    import java.text.SimpleDateFormat;   
    import java.util.Date;   
    import com.jacob.activeX.*;   
    import com.jacob.com.*;   
      
    public class ExportDts {   
        public void exportdbf() {   
      
            SimpleDateFormat localTime  =   new  SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   
               
            String importFileName = "D:/temp/dbf"; //这里导出的DBF要存放的路径   
            String DtsPath = "D:/temp/dts/dts_test.dts";  //这里是DTS文件的路径   
               
            try {   
                System.out.println("start:" + localTime.format(new Date()));   
                   
                ActiveXComponent app = new ActiveXComponent("DTS.Package2");   
           
      
                Dispatch.callN(app, "LoadFromStorageFile",new Variant[] {new Variant(DtsPath),new Variant("")});   
                   
                //重新设置路径   
                Dispatch DTSconns = Dispatch.get(app,"Connections").toDispatch();   
                Dispatch DTSconn = Dispatch.callN(DTSconns,"Item",new Variant[]{new Variant(2)}).toDispatch();   
                Dispatch.put(DTSconn,"DataSource",new String(importFileName));   
                   
                //执行   
                Dispatch.callN(app, "Execute", new Variant[] {});   
                   
                //得到执行的结果   
                Dispatch DTSsteps = Dispatch.get(app,"Steps").toDispatch();   
                Dispatch DTSstep = Dispatch.callN(DTSsteps,"Item",new Variant[]{new Variant(1)}).toDispatch();   
                Variant ResultValue = Dispatch.get(DTSstep,"ExecutionResult");   
                   
                if(ResultValue.toInt()==0){   
                    System.out.println("导出成功");   
           
                }else{   
                    System.out.println("导出失败");   
           
                }   
                System.out.println("end:" + localTime.format(new Date()));   
            } catch (Exception ex) {   
               ex.printStackTrace();   
            }   
        }   
    }