实现sqlplus的功能,代码如下:
import java.sql.*;
import java.io.*;
public class SQLTools{
public static void main(String[] args){
StringBuffer info=new StringBuffer();
info.append("-------read me--------\n");
info.append("commit;---excute con.commit();---\n");
info.append("rollback;---excute con.rollback();---\n");
info.append("sqlString;---excute sql command;---\n");
info.append("quit;---excute con.commit() and quit program---\n");
info.append("-----------end-----------\n");
System.out.println(info.toString());
Connection con= null;
while((con=getConnection())==null){}
try{
con.setAutoCommit(false);
StringBuffer sb=new StringBuffer();
String cmd="";
boolean flag=true;
int c=0;
String message="";
while(flag){
if(c++==0){
message="SQLTools-> ";
}else{
message=c+"-> ";
}
sb.append(prompt(message));
cmd=sb.toString().trim();
if(cmd.endsWith(";")){
String sql=cmd.substring(0,cmd.length()-1);
if("quit".equals(sql)){
flag=false;
con.commit();
sb=new StringBuffer();
c=0;
}else if("commit".equals(sql)){
con.commit();
sb=new StringBuffer();
c=0;
}else if("rollback".equals(sql)){
con.rollback();
sb=new StringBuffer();
c=0;
}else{
System.out.println(sql);
execute(sql,con);
sb=new StringBuffer();
c=0;
}
}
}
}catch(Exception e){System.out.println("rollback");
try{if(con!=null)con.rollback();
}catch(Exception e3){e3.printStackTrace();}
}
finally{JdbcUtil.release(con);}
}
public static Connection getConnection(){
String message="url:\n";
String url=prompt(message);
message="username:\n";
String username=prompt(message);
message="password:\n";
String pwd=prompt(message);
Connection con=null;
try{
con=DriverManager.getConnection(url,username,pwd);
}catch(Exception e){System.out.println("->connection failed");}
return con;
}
public static String prompt(String message){
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
System.out.println(message);
String input="";
try{
input=in.readLine();
}catch(Exception e){e.printStackTrace();}
return input;
}
public static void execute(String sql,Connection con)throws Exception{
int c=0;
Statement stmt=null;
ResultSet rs=null;
try{
stmt=con.createStatement();
if(stmt.execute(sql)){
rs=stmt.getResultSet();
JdbcUtil.printRs(rs);
}else{
c=stmt.getUpdateCount();
System.out.println("update succefully!"+c);
}
}catch(Exception e){System.out.println("database manipulation failed!");}
finally{JdbcUtil.release(rs,stmt,null);}
}
}
分享到:
- 2009-08-27 18:43
- 浏览 707
- 评论(0)
- 论坛回复 / 浏览 (0 / 1781)
- 查看更多
相关推荐
SQLPlus是Oracle数据库管理系统中的一个命令行工具,用于执行SQL语句、PL/SQL块以及管理数据库。在Linux系统中,通常使用RPM(Red Hat Package Manager)格式的安装包来部署软件。以下是对"sqlplus11.2 rpm安装包"的...
"Sqlplus 登录数据库" Sqlplus 是 Oracle 数据库管理系统中的一种命令行工具,用于与 Oracle 数据库进行交互。Sqlplus 登录数据库是指使用 Sqlplus 工具连接到 Oracle 数据库的过程。在这个过程中,用户需要输入...
标题中的“java做的Sqlplus”指的是一个用Java编程语言实现的SQL客户端工具,它模仿了Oracle公司的经典数据库管理工具——Sqlplus。Sqlplus是Oracle数据库管理员和开发人员常用的命令行工具,用于执行SQL语句、PL/...
Sqlplus 常用命令参数 Sqlplus 是 Oracle 数据库管理系统中的一种命令行工具,用于交互式地访问和管理 Oracle 数据库。下面是 Sqlplus 中的一些常用命令参数: 登录系统用户 Sqlplus 提供了多种方式来登录系统用户...
### SQLPlus中批量执行SQL文件的方法 在日常的数据库管理工作中,经常需要对数据库进行批量操作,例如批量执行SQL脚本、更新存储过程等。在这些场景下,使用Oracle提供的命令行工具SQLPlus来批量执行SQL文件是一种...
在$ORACLE_HOME/sqlplus/admin/help 包含了四个文件:helpbld.sql helpdrop.sql helpus.sql hlpbld.sql oracle自带的help和?的解释太少,如果自己找到其它更全的脚本也放到这个目录下,便于管理。 用system用户...
Oracle SQL*Plus是Oracle数据库中一个重要的命令行工具,用于执行SQL语句和PL/SQL代码,管理数据库,以及格式化输出结果。它既是Oracle开发者日常工作中不可或缺的工具,也是数据库管理员进行日常维护和故障排查时的...
SQLPlus是Oracle公司提供的一款强大的命令行工具,用于与Oracle数据库进行交互。它不仅支持基本的SQL查询,还可以执行复杂的数据库管理和开发任务。本教程旨在详细介绍SQLPlus的使用方法以及SQL语言在Oracle环境中的...
在IT行业中,数据库管理是至关重要的任务之一,而Oracle数据库作为全球广泛使用的数据库管理系统,其管理工具sqlplus是系统管理员和开发人员常用的交互式接口。本文将详细介绍如何使用sqlplus登录Oracle数据库,包括...
《Oracle SQLPlus最新手册》深度解析 一、引言 Oracle SQLPlus作为Oracle数据库系统中的一个强大工具,为用户提供了直接与数据库交互的能力。本文旨在深入解析《Oracle SQLPlus最新手册》,提炼出其中的关键知识点...
sqlplusw 与 sqlplus 登陆数据库的方法总结主要涉及到 Oracle 数据库的登录方法,包括 sqlplusw 工具、sqlplus 命令、PL/SQL 工具和 iSqlplus 登录 oracle 数据库的方法。 首先,需要了解 Oracle 数据库的基本概念...
SQLPLUS是Oracle数据库系统中的一个命令行工具,用于执行SQL语句和PL/SQL块,进行数据查询、数据库管理以及数据库脚本的编写。这个"SQLPLUS命令查询文档"很可能是一个详细介绍了SQLPLUS使用方法的CHM(Compiled ...
SQLPlus命令,SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令
在SQLPlus中,复制和粘贴是日常操作的一部分,尤其对于数据库管理员和开发人员来说,高效地处理SQL脚本和查询结果至关重要。SQLPlus虽然不如图形化的数据库管理工具直观,但通过掌握一些实用技巧,我们可以提高在该...
SQLPLUS是Oracle数据库系统提供的一款强大的命令行工具,它允许用户直接与数据库进行交互,执行SQL查询、数据操作、数据库管理等任务。本教程将深入介绍SQLPLUS的使用方法,帮助你更好地掌握这个不可或缺的数据管理...
在IT领域,数据库管理是至关重要的任务,而SQLPLUS作为一个强大的命令行工具,为Oracle数据库管理员和开发人员提供了高效的操作界面。批处理是提高工作效率的重要手段,它允许用户一次性执行多个SQL语句,而非逐个...
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.ziporacle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.ziporacle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.ziporacle-instantclient11.2-sqlplus...
详细介绍ORACLE sqlplus命令,详细介绍ORACLE sqlplus命令
"SQLPLUS操作大全" SQLPLUS 是 Oracle 提供的一个工具程序,它不仅可以用于测试、运行 SQL 语句和 PL/SQL 块,而且还可以用于管理 Oracle 数据库。下面是 SQLPLUS 的一些重要操作知识点: 一、启动 SQLPLUS 要...