方法1,imp是oracle提供的系统命令,在cmd下可以调用,故可以通过java.lang.Runtime包里的exec来实现。具体你去看看手册。
这个方法的前提条件是必须服务器在cmd下能执行imp命令,如果是linux的服务器,也只要能执行同样调用。
方法2,通过sql语句实现。
就是自己实现备份,恢复。不使用oracle内部的命令。
原理就是检索出所有的对象,然后写入文件,这里要注意分批导出与分批导入(也就是多个文件),不然数据量大了,速速就很慢。
导出数据,存储过程,触发器,视图,权限等。这个就看你的需求了。。
然后在分析文件实现导入。。
3,自己编写系统程序,实现导入功能,仍然通过Runtime.exec来调用。
4,因为imp是系统命令,你用stmt来调用是不对的,这个stmt只能执行sql语句,是oracle来分析的,所以会报错不是有效的sql语句。
你换runtime.exec来执行,我想应该会成功的。。。
dmp是二进制数据,不用imp用java如何解析再导入oracle?
imp是oracle提供的导入数据接口,你不使用自己写?
难啊…,观望中…