Java调用db2cmd命令导出数据

简介: Java调用db2cmd命令导出数据


使用Runtime调用bat文件处理外部脚本时一般使用Runtime.getRuntime.exec(command)就可以了

如果批处理是使用db2的db2cmd时,dos窗口则会弹出db2命令窗口执行相关的处理脚本,如果需要等待此批处理命令执行完成后再执行下面的流程就会出现相应的问题。

如下例流程,将客户端将生成数据备份文件上传至服务器

因waitFor() 只能控制第一个dos窗口的进程,而无法控制下一个窗口,程序则会同步执行,当数据还没生成时就已经进行压缩处理了,当然会出现错误。 所以在执行批处理时将批出理文件隐式执行

/**
 * 执行批处理
 * @param command
 */
public void runBat(String command) {
  Process child = null;
  try {
    Runtime rt = Runtime.getRuntime();
    child = rt.exec(command);
    //以下代码为控制台输出相关的批出理
    String line = null ;
    BufferedReader reader = new BufferedReader(new InputStreamReader(child.getInputStream()));
    while ((line = reader.readLine()) != null ) {
      System.out.println(line);
    }
    reader.close();
    // 等待刚刚执行的命令的结束
    while ( true ) {
      if (child.waitFor() == 0 ) break ;
    }
  } catch (Exception ex) {
    child.destroy();
    ex.printStackTrace();
  }
}

批处理代码如下: runBat中执行db2cmd时需加上 -c -w -i script

@echo off
rem
rem This is a Windows Shell Script that invokes a DB2 Command Window that
rem performs a database backup by calling the DB2 backup database command.
rem
set DB2INSTANCE=DB2
set DB2DATABASE=SAMPLE
db2 connect to %DB2DATABASE% user Administrator using Administrator
db2 export to "d:\employee.csv" of del modified by coldel, select * from EMPLOYEE
db2 disconnect %DB2DATABASE%
db2 terminate


相关文章
|
6天前
|
安全 Java 大数据
|
23天前
|
监控 安全 数据可视化
java基于微服务的智慧工地管理云平台SaaS源码 数据大屏端 APP移动端
围绕施工现场人、机、料、法、环、各个环节,“智慧工地”将传统建筑施工与大数据物联网无缝结合集成多个智慧应用子系统,施工数据云端整合分析,提供专业、先进、安全的智慧工地解决方案。
31 1
|
27天前
|
监控 数据可视化 Java
《使用 JFreeChart 进行数据可视化:提升 Java Web 应用的数据展示能力》
【4月更文挑战第4天】JFreeChart 是 Java Web 应用中数据可视化的强大开源库,提供多种图表类型如线图、柱状图,助于理解数据趋势和模式。通过导入库、创建数据集、设置图表属性,开发者可生成吸引人的图表提升用户体验。使用时注意数据准确性、配色、标签和交互性。JFreeChart 具有高度可定制性、良好性能和社区支持,适用于业务展示、系统监控及数据分析场景。
|
2月前
|
Java
java程序导出堆文件
java程序导出堆文件
|
2月前
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
25 1
|
2月前
|
存储 Java
JAVA字符串与其他类型数据的转换
JAVA字符串与其他类型数据的转换
28 4
|
2月前
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
16 1
|
2天前
|
安全 Java 网络安全
深入理解Java异常处理网络安全与信息安全:保护数据的关键策略
【4月更文挑战第29天】本文将深入探讨Java中的异常处理机制,包括异常的概念、分类、捕获和处理等方面。通过详细的解析和实例演示,帮助读者更好地理解Java异常处理的原理和应用。 【4月更文挑战第29天】在数字化时代,数据成为最宝贵的资产之一。随着网络攻击的日益猖獗,了解并实施有效的网络安全和信息保护措施变得至关重要。本文将深入探讨网络安全漏洞的概念、加密技术的重要性以及提升个人和企业的安全意识的必要性。我们将分析当前的安全挑战,并提供一系列实用的防护策略,旨在帮助读者构建一个更加安全的数字环境。
|
2天前
|
Java 关系型数据库 MySQL
【JDBC编程】基于MySql的Java应用程序中访问数据库与交互数据的技术
【JDBC编程】基于MySql的Java应用程序中访问数据库与交互数据的技术
|
4天前
|
Java Apache
java读取excel数据案例
Java代码示例使用Apache POI库读取Excel(example.xlsx)数据。创建FileInputStream和XSSFWorkbook对象,获取Sheet,遍历行和列,根据单元格类型(STRING, NUMERIC, BOOLEAN)打印值。需引入Apache POI库并确保替换文件路径。
7 1