由于需要提供b/s下页面数据导出功能.现在提供了一个JSP页面操纵数据导出功能的方法.
给出了输出条件,如
用户名,密码,实例名,数据表名,输出文件,日志文件,查询条件等.
接收用户输入参数值的方法如下:(为了简单实现功能,采用了jsp+servlet方式).可以将下面done(***)方法的返回值,输出至页面显示.
方法代码段如下:(供参考)
public String done(String username, String password, String sid,
String tables, String file, String log, String query) {
String[] cmds = new String[3];
cmds[0] = "cmd";
cmds[1] = "/C";
cmds[2] = "exp " + username + "/" + password + "@" + sid + " tables="
+ tables + " file=" + file + " log=" + log + " query='" + query
+ "'"; // 此处可以进行配置管理
Process process = null;
try {
process = Runtime.getRuntime().exec(cmds);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
boolean close = false;
String s = "";
try {
InputStreamReader isr = new InputStreamReader(process
.getErrorStream());
BufferedReader br = new BufferedReader(isr);
String line = "";
while ((line = br.readLine()) != null) {
s = s + br.readLine() + "<br>";
// invalid username/password logon denied EXP-00056
// invalid username/password logon denied ORA-01017
// 表不存在 EXP-00011
// 无法处理服务名 ORA-12154
// 导出终止失败 EXP-00000
if (line.indexOf("EXP-00056") != -1
|| line.indexOf("ORA-01017") != -1
|| line.indexOf("EXP-00011") != -1
|| line.indexOf("ORA-12154") != -1
|| line.indexOf("EXP-00000") != -1) {
close = true;
break;
}
}
} catch (IOException ioe) {
close = true;
}
if (close)
process.destroy();
try {
int exitVal = process.waitFor();
System.out.println("exitVal:" + exitVal);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return s;
}
分享到:
相关推荐
该命令使用 exp 工具来导出 Oracle 数据库中的数据。我们可以根据需要添加不同的参数,例如用户名、密码、数据库名、表名、导出地址、数据过滤条件等。 知识点 3:执行 DOS 命令并处理错误 在 Java 中,可以使用 ...
本例提供了一个使用 Java 导出 Oracle 数据的示例代码,涵盖了 Oracle 数据库的连接、exp 命令的使用、Process 类的使用、异常处理、StringUtil 工具类的使用、Log4j 日志记录和 Oracle 数据库的导入等知识点。
Java 导出 Oracle 数据库数据 Java 是一种流行的编程语言,广泛应用于各种领域。...使用 exp 和 imp 命令可以实现数据的导出和导入,而 Java 语言可以使用 Runtime.getRuntime().exec() 方法来执行这些命令。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于 在oracle 8i 中 安装目录\ora81\BIN被设置为全局路径, 该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。 oracle用java编写,...
**一、Oracle数据库导出命令(EXP)** 1. **USERID参数** `USERID=demo/demopwd@orcl`:这部分指定了连接到Oracle数据库的凭证。`demo`是用户名,`demopwd`是密码,`orcl`是Oracle服务名或连接字符串,代表你想要...
该过程使用了 Java 语言的 Runtime.getRuntime().exec() 方法来执行 Oracle 的 exp 命令,实现了数据的导出。 知识点 1:Java 中的 Runtime.getRuntime().exec() 方法 在 Java 中,Runtime.getRuntime().exec() ...
这意味着,当用户在 SQL*Plus 中执行导入导出命令时,实际上是调用了这些封装好的 Java 类来完成实际的数据处理工作。 #### 四、具体命令使用示例 1. **全库导出**: - `exp system/manager@TEST file=d:\daochu....
在Linux环境中,运行此脚本需要确保`oracle`用户有执行`exp`命令的权限,以及拥有写入指定文件路径的权限。 接下来,我们看看Java代码部分,这部分代码是用于执行shell脚本的: ```java String shfilepath = ...
例如,在`expFile()`方法中,我们创建了一个字符串数组`cmds`,将Oracle的导出命令封装其中,然后使用`Runtime.getRuntime().exec(cmds)`来执行命令。这使得Java程序可以执行类似于在命令行中运行的Oracle数据导出...
本文件“Java导入导出Oracle[文].pdf”显然提供了一种利用Java程序来实现Oracle数据库的导入(exp)和导出(imp)的方法,并涉及到创建表空间、用户以及给用户授权的操作。以下是根据提供的代码片段详细解释这些知识...
Java程序可以使用Runtime.getRuntime().exec()方法来执行EXP命令,实现数据库的备份。 2. 构建EXP命令:在Java程序中,需要构建EXP命令,包括用户名、密码、数据库名称、备份文件地址等信息。例如,EXP命令可以如下...
这个批处理文件通常会包含一系列的DOS命令,用于调用Oracle的工具,如`expdp`(数据泵导出)或`exp`来执行数据库的备份。一个基本的`expdp`命令示例如下: ```bat expdp username/password directory=BACKUP_DIR dump...
在Oracle中,`exp` 命令用于将数据从数据库导出到本地的DMP文件中。例如,为了备份特定的表,如table1和table2,你可以使用以下命令: ```shell exp userid/password tables=table1,table2 file=path/backup_$(date...
- 在Java中,可以通过创建进程或执行外部命令的方式实现这一功能。 2. **Oracle EXP命令**: - `EXP`是Oracle提供的一种用于导出数据库的工具,它能够将指定的数据表、用户、模式等对象导出到一个DMP文件中。 - ...
需要正确地配置EXP工具的参数,例如批处理命令、导出文件的路径等。正确的参数配置可以确保EXP工具正确地执行,并避免ORA-06553报错。 知识点5:同义词的定义 同义词的定义是ORA-06553报错的主要原因。需要正确地...
- 使用Java的Runtime类执行外部命令,调用`exp`完成数据备份。 - 处理备份结果,例如检查是否成功备份。 6. **关键代码示例**: - **构建`exp`命令**: ```java String command = "exp " + databasename + "/...
在执行Oracle数据库导入导出命令时,可以在SQL*Plus或DOS命令行中进行。由于Oracle8i将相关的可执行文件目录设置为了全局路径,这使得在命令行中直接调用exp.exe和imp.exe成为可能。Oracle的这些工具是用Java编写的...