我尝试过不同的方式, 我尝试使用shelljs来运行这些命令,以便从SQLite DB生成CSV,
shell.exec('sqlite3 /path/to/sqlite-db.db')
shell.exec('.headers on')
shell.exec('.mode csv');
shell.exec('.output /path/to/data.csv');
shell.exec('select * from Table;');
shell.exec('.quit');
但它在第一个命令上遇到困难,我需要在SQLite cmd中运行所有其他命令。 在终端上这些命令工作正常。
或者还有其他办法吗?
答案 0 :(得分:0)
您不需要使用sqlite3 shell,您可以使用Node的内置child_process.exec()
方法来传递选项。
const exec = require("child_process").exec
const command = 'sqlite3 -header -csv /path/to/sqlite-db.db "select * from Table;" > /path/to/data.csv'
exec(command, (err, stdout, stderr) => {
if (err) return console.error(err)
console.log("stdout: ", stdout)
console.log("stderr: ", stderr)
})