Java에서 sqlite 데이터베이스의 덤프 파일을 생성하고 싶지만 Linux에서 다음 명령을 실행할 수 없습니다. Windows에 대한 도움을 받고 Linux를 사용해 보았는데 터미널이 하나밖에 없는 것 같습니다. 그렇다면 Linux에서 이 명령을 작성하는 방법을 누가 도와줄 수 있습니까?
Process p = Runtime.getRuntime().exec("cmd /c start /b sqlite3 db.sqlite .dump > dump.txt");
Linux에서의 구현은 다음과 같습니다.
String command= "/usr/bin/xterm";
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(new String[]{command , "/home/ubuntu/test.sqlite .dump > /home/ubuntu/newsql111.sql"});
누구든지 내 오류가 어디에 있는지 말해 줄 수 있나요?
답변1
xterm은 필요하지 않지만 sqlite3은 필요합니다. 그게 바로 당신이 달리고 있는 거죠
/usr/bin/xterm /home/ubuntu/test.sqlite .dump > …
정말 달려야 할 때
/bin/sh -c "sqlite3 /home/ubuntu/test.sqlite .dump > …"
귀하의 데이터베이스가 .../test.sqlite라고 가정합니다. Java 세부 사항은 귀하에게 맡기겠습니다.
답변2
해결책을 찾았습니다.
Process p = rt.exec(new String[]{"/bin/sh", "-c", "sqlite3 /home/ubuntu/testingdb.sqlite .dump > /home/ubuntu/success11.sql"});
sqlite 데이터베이스의 전체 덤프 파일을 제공합니다.