【发布时间】:2021-12-14 11:52:14
【问题描述】:
我正在尝试从 java 运行两个 cmd 命令,但似乎第二个命令没有运行。 实际上我已经将雪花与我的 java 程序集成,所以我正在尝试内部阶段加载。所以为此我必须运行 put 命令才能将我的文件从本地文件系统放到内部阶段。为此我需要通过 java 在我的 cmd 中运行 2 个命令。
1)snowsql // 用于登录 snowsql 2)put command //将文件从本地系统放到内部阶段。
我正在添加我的代码
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
public class cmdconnect {
public static void main(String[] args) throws IOException, NullPointerException {
ProcessBuilder pb =new ProcessBuilder();
String filpath= "C:\\Users\\Ohr_id\\Desktop\\File_2.csv @int_stage1;";
File path=new File("C:\\Users\\\\Desktop\\File_2.csv @int_stage1;");
String pt="put file:///";
String res=pt+path;
System.out.println(res);
pb.command("cmd.exe", "/c"," snowsql && "+res+"");
File dir = new File("C:\\Users\\OHR_ID\\Desktop");
pb.directory(dir);
Process q= pb.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(q.getInputStream()));
String line = "";
int i=0;
while ((line = reader.readLine()) != null) {
System.out.println(line);
System.out.println(i++);
}
}
}
【问题讨论】:
-
嘿,更好的对齐代码使用户更容易查看和回答您的问题。否则,大多数时候未对齐的代码都会被忽略。个人经验。
-
Snowflake JDBC 驱动支持 PUT 命令,那么你有理由想通过 Java 调用命令行 SnowSQL 吗?
-
@GregPavlik 我只需要一种方法来通过 java 将我的文件从本地机器加载到内部阶段,然后从那里加载到雪花表......所以你可以帮助使用 java 代码
标签: java snowflake-cloud-data-platform