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编程语言实现的SQL客户端工具,它模仿了Oracle公司的经典数据库管理工具——Sqlplus。Sqlplus是Oracle数据库管理员和开发人员常用的命令行工具,用于执行SQL语句、PL/...
String command = "sqlplus user/pass@database ; Process process = Runtime.getRuntime().exec(command); ``` 这里,`user/pass`代表数据库的用户名和密码,`database`是连接的服务名或连接字符串。 2. **...
在$ORACLE_HOME/sqlplus/admin/help 包含了四个文件:helpbld.sql helpdrop.sql helpus.sql hlpbld.sql oracle自带的help和?的解释太少,如果自己找到其它更全的脚本也放到这个目录下,便于管理。 用system用户...
sqlplus的帮助信息从是数据库里表(system.help)里获取的 select * from system.help; 在$ORACLE_HOME/sqlplus/admin/help 包含了四个文件:helpbld.sql helpdrop.sql helpus.sql hlpbld.sql helpbld.sql实际是调用...
training of sqlplus, how to use sqlplus effectively
Sqlplus 常用命令参数 Sqlplus 是 Oracle 数据库管理系统中的一种命令行工具,用于交互式地访问和管理 Oracle 数据库。下面是 Sqlplus 中的一些常用命令参数: 登录系统用户 Sqlplus 提供了多种方式来登录系统用户...
"Sqlplus 登录数据库" Sqlplus 是 Oracle 数据库管理系统中的一种命令行工具,用于与 Oracle 数据库进行交互。Sqlplus 登录数据库是指使用 Sqlplus 工具连接到 Oracle 数据库的过程。在这个过程中,用户需要输入...
### SQLPLUS常用命令列表 #### 一、简介 SQL*PLUS是Oracle数据库系统的一个非常重要的工具,主要用于执行SQL语句、脚本文件等,并能够帮助用户进行数据查询、管理及编辑等工作。本文将详细介绍SQL*PLUS中的一些...
SQLPlus是Oracle数据库管理系统中的一个命令行工具,用于执行SQL语句、PL/SQL块以及管理数据库。在Linux系统中,通常使用RPM(Red Hat Package Manager)格式的安装包来部署软件。以下是对"sqlplus11.2 rpm安装包"的...
Oracle SQL*Plus是Oracle数据库中一个重要的命令行工具,用于执行SQL语句和PL/SQL代码,管理数据库,以及格式化输出结果。它既是Oracle开发者日常工作中不可或缺的工具,也是数据库管理员进行日常维护和故障排查时的...
### SQLPlus中批量执行SQL文件的方法 在日常的数据库管理工作中,经常需要对数据库进行批量操作,例如批量执行SQL脚本、更新存储过程等。在这些场景下,使用Oracle提供的命令行工具SQLPlus来批量执行SQL文件是一种...
SQLPlus命令,SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令
SQLPLUS是Oracle数据库系统提供的一款强大的命令行工具,它允许用户直接与数据库进行交互,执行SQL查询、数据操作、数据库管理等任务。本教程将深入介绍SQLPLUS的使用方法,帮助你更好地掌握这个不可或缺的数据管理...
# Run SQLPLUS command to export data sqlplus -s ${USER}/${PASS}@${DB} SPOOL backup_${TABLE}_${DATE}.sql SELECT * FROM ${TABLE}; SPOOL OFF EXIT EOF ``` 这个脚本将根据当前日期生成备份文件名,然后导出...
**SQLPlus 使用指南** SQLPlus是Oracle数据库管理系统中的一款强大工具,它允许用户直接与数据库交互,执行SQL查询,管理数据库对象,以及自动化各种数据库任务。这篇指南将深入探讨SQLPlus的功能及其在Oracle环境...
详细介绍ORACLE sqlplus命令,详细介绍ORACLE sqlplus命令
SQLPlus是Oracle公司提供的一款强大的命令行工具,用于与Oracle数据库进行交互。它不仅支持基本的SQL查询,还可以执行复杂的数据库管理和开发任务。本教程旨在详细介绍SQLPlus的使用方法以及SQL语言在Oracle环境中的...
SQLPLUS是Oracle数据库系统中的一个命令行工具,用于执行SQL语句和PL/SQL块,进行数据查询、数据库管理以及数据库脚本的编写。这个"SQLPLUS命令查询文档"很可能是一个详细介绍了SQLPLUS使用方法的CHM(Compiled ...
在IT行业中,数据库管理是至关重要的任务之一,而Oracle数据库作为全球广泛使用的数据库管理系统,其管理工具sqlplus是系统管理员和开发人员常用的交互式接口。本文将详细介绍如何使用sqlplus登录Oracle数据库,包括...