gpt4 book ai didi

java - 当 sqlloader 完成数据加载时收到通知

转载 作者:行者123 更新时间:2023-12-01 15:22:05 25 4
gpt4 key购买 nike

我有一个java代码,通过它我调用bat文件。该bat文件包含对sqlldr的调用,它将数据从txt文件加载到表中(在oracle中)。这是调用bat文件的java代码

ProcessBuilder pb = new ProcessBuilder(new File(".").getAbsolutePath()
+ File.separator + "ld.bat");
System.out.println("Before start");
Process start;
try {
start = pb.start();


} catch (IOException e) {

e.printStackTrace();
}

在这段代码下面,我正在创建新线程并执行其他任务。数据加载在后台进行。加载完成后我想执行一些任务(例如将 txt 数据文件移动到另一个位置)。有没有办法在 sqlldr 完成数据加载后收到通知。我遇到了一个解决方法 - 我可以继续检查 d 表中的行数并将其与原始 txt 文件中的行数进行比较。但我想知道是否还有其他解决方案。另外,我不想使用 start.waitFor() 因为这会让我的其他 Activity 暂停。

最佳答案

我不确定我完全理解你的问题 - 有什么原因不能将批处理脚本的调用放入新线程中吗?

例如

new Thread("Load Data"){
@Override
public void run() {
// load data
// move txt data file
}
}.start();

// do other activities
// (Presumably they're not dependent on the data having been loaded...)

关于java - 当 sqlloader 完成数据加载时收到通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10749677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com