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文件执行数据导入导出
下载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();
- }
- }