当前位置:数据库 > Oracle >>

oracle 数据库导入问题

现在我们要把服务器上的oracle数据库东西 先导出一种形式(非excel) 在通过java导入到本地oracle数据库 有什么好的办法(dmp文件好像不能通过java导) 现在是必须通过java导i该怎么办
答案:servlet执行 命令行,如IMP 命令。就这样干。把下面的exp命令改成imp命令。
class TimeBackup extends Thread {
	private ServletContext application;
	public TimeBackup(ServletContext application) {
		this.application = application;
	}
	public void run() {
		while (true) {
			try {
				sleep(1000*60);
			} catch (InterruptedException e1) {
				// TODO 自动生成 catch 块
				e1.printStackTrace();
			}
			Date d = new Date();

			// if (d.getHours()!=0||d.getMinutes()!=0){
			if (d.getHours()!=0||d.getMinutes()!=0) {
				continue;
			}
			System.out.println("bakup start");
			String today = Util.getFormatDate("yyyyMMdd");
			String cmd = "cmd.exe /C start exp user/password rows=y indexes=n "
					+ "compress=n buffer=65536 feedback=100000 "
					+ "file=d:/bak/exp_" + today + ".dmp "
					+ "log=d:/bak/exp_" + today + ".log "; 

			Runtime r = Runtime.getRuntime();
			try {
				Process p = r.exec(cmd);
				InputStream in = p.getInputStream();
				OutputStream out = p.getOutputStream();

				InThread inThread = new InThread(in,today);
				inThread.start();
				p.waitFor();
				int i = p.exitValue();
				if (i == 0) {
					System.out.println("success");
					
				} else {
					System.out.println("error");
				}
			} catch (IOException e) {
				e.printStackTrace();
			} catch (InterruptedException e) {
				e.printStackTrace();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
其他:你是想通过程序自动导还是手工导 没看懂需求,你最好说明一下吧,导数据的方式太多了。比如把数据库先导出为文本格式,再通过loader、impdp、toad等工具都可以导入,你说的通过java导入,再说具体点吧,太简略了,是你们用java写的程序还是什么? 写个脚本不就行了,导出导入根本就不需要写程序的。 

上一个:数据库版本:oracle 10g。前几天清了一个大约有5G以上的一个数据库,不过好像中途被打断了。
下一个:oracle和sql server都能用sql语句,我想问这两个数据库的sql语句是不是完全一致的?是不是都通用?

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,