java - 在 Java 中使用“Sqlldr”获取异常无法运行程序“sqlldr”:CreateProcess error=2,系统找不到指定的文件
问题描述
线程“main”java.io.IOException 中的异常:无法运行程序“sqlldr”:CreateProcess 错误 = 2,系统无法在 java.lang.Runtime 的 java.lang.ProcessBuilder.start(未知来源)中找到指定的文件。 exec(Unknown Source) 我需要为使用 sqlloader 的 java 和 oracle 做任何路径设置吗
独立Java代码:
public class SqlLoader{
public static void main(String[] args) throws IOException {
String sqlldrCmd = "sqlldr " + userName + "/" + password + "@"
+ dbname + " CONTROL=" + ctlFile + " LOG=" + logFile;
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(sqlldrCmd);
}
}
.ctl 文件:
将文件'input.csv'中的数据加载到表中以“,”结尾的表
名字段中,尾随NULLCOLS(ID,名称,ACTIVE_DATE,EXPIRE_DATE,)
example.csv ID,名称 1,abc
解决方案
推荐阅读
- c++ - C++ 代码::block 花括号样式
- php - 循环遍历具有不同值的缓冲区内容
- android - 从单元测试调用时,代码未在 asyncTask 内部执行
- node.js - Nodejs FS模块没有返回这样的文件或目录错误
- kendo-ui - 仅当用户想要编辑特定行时,如何检索网格行的附加数据以进行编辑?
- objective-c - Swift 项目中带有 .a 库 Xcode 的架构 arm64 的未定义符号
- json - Typo3:登录后显示用户特定的 Json 文件
- python - Opencv在python 2中给出调整大小错误,但在python 3中没有
- sql - 如何在具有数百万条记录的大表中检索所有列的行数
- scala - 如何在 scala flink 中显示来自 RDF 存档的数据