`
wuhuizhong
  • 浏览: 681058 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

How to display sqlplus result in java?

 
阅读更多

Use the streams provide by the Process returned by the exec.
http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Process.html

Process p = Runtime.getRuntime().exec("sqlplus user/pwd@connect @test.sql"); 
OutputStream os = p.getOutputStream();

This code launches sql*plus and runs the script in the 'filename' variable. It displays the results in NetBeans console.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.File;
import java.util.Map;
 
public class test1 {
 
    public static void main (String args []) {
 
        test_script();
    }
 
    public static void test_script () {
 
        String fileName = "@test_table.sql";
        String sqlPath = "E:\\";
 
        String sqlCmd = "sqlplus";
 
        String arg1   = "user/password@sid"; -- plug in your user, password and db name
        String arg2   = fileName;
        try {
            String line;
            ProcessBuilder pb = new ProcessBuilder(sqlCmd, arg1, arg2);
            Map<String, String> env = pb.environment();
            env.put("VAR1", arg1);
            env.put("VAR2", arg2);
            pb.directory(new File(sqlPath));
            pb.redirectErrorStream(true);
            Process p = pb.start();
          BufferedReader bri = new BufferedReader
            (new InputStreamReader(p.getInputStream()));
          BufferedReader bre = new BufferedReader
            (new InputStreamReader(p.getErrorStream()));
          while ((line = bri.readLine()) != null) {
            System.out.println(line);
          }
          bri.close();
          while ((line = bre.readLine()) != null) {
            System.out.println(line);
          }
          bre.close();
          System.out.println("Done.");
        }
        catch (Exception err) {
          err.printStackTrace();
        }
 
    }
 
}

Here is the contents of the script placed at E:
test_table.sql

Prompt drop TABLE ANOTHER_TEST;
DROP TABLE ANOTHER_TEST CASCADE CONSTRAINTS
/ 
 
Prompt Table ANOTHER_TEST;
CREATE TABLE ANOTHER_TEST
(
  BATCH_SEQ             NUMBER,
  BATCH_GROUP_ID        NUMBER,
  STATUS_FLAG           VARCHAR2(30 BYTE),
  OBJ_BEING_PROCESSED   VARCHAR2(80 BYTE),
  BATCH_RUN_START_DTTM  DATE,
  BATCH_RUN_END_DTTM    DATE,
  CREATE_DTTM           DATE,
  CREATE_USER           VARCHAR2(30 BYTE),
  UPDATE_DTTM           DATE,
  UPDATE_USER           VARCHAR2(30 BYTE)
)
LOGGING 
NOCOMPRESS 
NOCACHE
PARALLEL ( DEGREE DEFAULT INSTANCES DEFAULT )
MONITORING
/ 
 
COMMENT ON TABLE ANOTHER_TEST IS 'This is a test table.'
/ 
 
EXIT
/ 

 

 

 

 

分享到:
评论

相关推荐

    java做的Sqlplus

    标题中的“java做的Sqlplus”指的是一个用Java编程语言实现的SQL客户端工具,它模仿了Oracle公司的经典数据库管理工具——Sqlplus。Sqlplus是Oracle数据库管理员和开发人员常用的命令行工具,用于执行SQL语句、PL/...

    Java调用sqlplus执行定制的sql脚本

    String command = "sqlplus user/pass@database ; Process process = Runtime.getRuntime().exec(command); ``` 这里,`user/pass`代表数据库的用户名和密码,`database`是连接的服务名或连接字符串。 2. **...

    sqlplus help 加强版

    在$ORACLE_HOME/sqlplus/admin/help 包含了四个文件:helpbld.sql helpdrop.sql helpus.sql hlpbld.sql oracle自带的help和?的解释太少,如果自己找到其它更全的脚本也放到这个目录下,便于管理。 用system用户...

    给oracle的sqlplus安装更齐全的help文档(help.sql文件和安装方法)

    sqlplus的帮助信息从是数据库里表(system.help)里获取的 select * from system.help; 在$ORACLE_HOME/sqlplus/admin/help 包含了四个文件:helpbld.sql helpdrop.sql helpus.sql hlpbld.sql helpbld.sql实际是调用...

    introduction of sqlplus

    training of sqlplus, how to use sqlplus effectively

    sqlplus常用命令参数

    Sqlplus 常用命令参数 Sqlplus 是 Oracle 数据库管理系统中的一种命令行工具,用于交互式地访问和管理 Oracle 数据库。下面是 Sqlplus 中的一些常用命令参数: 登录系统用户 Sqlplus 提供了多种方式来登录系统用户...

    Sqlplus_登录数据库

    "Sqlplus 登录数据库" Sqlplus 是 Oracle 数据库管理系统中的一种命令行工具,用于与 Oracle 数据库进行交互。Sqlplus 登录数据库是指使用 Sqlplus 工具连接到 Oracle 数据库的过程。在这个过程中,用户需要输入...

    SQLPLUS常用命令列表

    ### SQLPLUS常用命令列表 #### 一、简介 SQL*PLUS是Oracle数据库系统的一个非常重要的工具,主要用于执行SQL语句、脚本文件等,并能够帮助用户进行数据查询、管理及编辑等工作。本文将详细介绍SQL*PLUS中的一些...

    sqlplus11.2 rpm安装包

    SQLPlus是Oracle数据库管理系统中的一个命令行工具,用于执行SQL语句、PL/SQL块以及管理数据库。在Linux系统中,通常使用RPM(Red Hat Package Manager)格式的安装包来部署软件。以下是对"sqlplus11.2 rpm安装包"的...

    Oracle SQLPLUS基础及sqlplus命令详解

    Oracle SQL*Plus是Oracle数据库中一个重要的命令行工具,用于执行SQL语句和PL/SQL代码,管理数据库,以及格式化输出结果。它既是Oracle开发者日常工作中不可或缺的工具,也是数据库管理员进行日常维护和故障排查时的...

    sqlplus中批量执行sql文件

    ### SQLPlus中批量执行SQL文件的方法 在日常的数据库管理工作中,经常需要对数据库进行批量操作,例如批量执行SQL脚本、更新存储过程等。在这些场景下,使用Oracle提供的命令行工具SQLPlus来批量执行SQL文件是一种...

    SQLPlus命令

    SQLPlus命令,SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令

    SQLPLUS命令.rar

    SQLPLUS是Oracle数据库系统提供的一款强大的命令行工具,它允许用户直接与数据库进行交互,执行SQL查询、数据操作、数据库管理等任务。本教程将深入介绍SQLPLUS的使用方法,帮助你更好地掌握这个不可或缺的数据管理...

    SQLPLUS在Bash_shell的使用

    # Run SQLPLUS command to export data sqlplus -s ${USER}/${PASS}@${DB} SPOOL backup_${TABLE}_${DATE}.sql SELECT * FROM ${TABLE}; SPOOL OFF EXIT EOF ``` 这个脚本将根据当前日期生成备份文件名,然后导出...

    SQLPlus Usage Guide

    **SQLPlus 使用指南** SQLPlus是Oracle数据库管理系统中的一款强大工具,它允许用户直接与数据库交互,执行SQL查询,管理数据库对象,以及自动化各种数据库任务。这篇指南将深入探讨SQLPlus的功能及其在Oracle环境...

    详细介绍ORACLE sqlplus命令

    详细介绍ORACLE sqlplus命令,详细介绍ORACLE sqlplus命令

    sqlplus教程(中文)

    SQLPlus是Oracle公司提供的一款强大的命令行工具,用于与Oracle数据库进行交互。它不仅支持基本的SQL查询,还可以执行复杂的数据库管理和开发任务。本教程旨在详细介绍SQLPlus的使用方法以及SQL语言在Oracle环境中的...

    SQLPLUS命令查询文档

    SQLPLUS是Oracle数据库系统中的一个命令行工具,用于执行SQL语句和PL/SQL块,进行数据查询、数据库管理以及数据库脚本的编写。这个"SQLPLUS命令查询文档"很可能是一个详细介绍了SQLPLUS使用方法的CHM(Compiled ...

    sqlplus连接数据库方法

    在IT行业中,数据库管理是至关重要的任务之一,而Oracle数据库作为全球广泛使用的数据库管理系统,其管理工具sqlplus是系统管理员和开发人员常用的交互式接口。本文将详细介绍如何使用sqlplus登录Oracle数据库,包括...

Global site tag (gtag.js) - Google Analytics