(2013年12月6日)は - 、
私は同様の問題を持ってきた...今の窓の仕事のための有望に見える純粋なJS moduleありWindows SQLiteの再リンク(または既存のnodejsパッケージのコンパイル)で、私が思いつく最高の方法は、コンソールとsqliteクライアントに子プロセスとシェルを使い、結果をキャプチャすることです。これは非常に優れていますが、これが拡張できるかどうかはわかりませんが、限られたイントラネットシナリオではGood Enough™である可能性があります。
アップデート: - あなたはchild_processモジュールとその慣れていない場合にはあなたのアイデアを与える
ここで私は一緒に石畳いくつかのコードです。これはnodejs 0.6.0
で動作します。オプションのフラグが含まれている場合、
var cmd = '"' + sqlitePath + '" "' + dbPath + '" "select * from sqlite_master"';
注-noheader
と-list
は、あなたが解析するためにわずかに良い出力を得る可能性があります:
まず私はsqliteの外の何かを引っ張るために必要なコマンドを構築します。 -separator 'x'
を使用してフィールド区切り文字を制御することもできます。ここで、x
は区切り文字です。あなたは、これは十分に行うために取得することができるかもしれないいくつかの文字列を解析してsqliteのコンソールクライアントのオプションで遊んでとの組み合わせで
var child = exec(cmd, function(error, stdout, stderr) {
if (error) {
console.log('error while trying to do stuff...');
// error message in error and stderr
} else {
console.log('success');
// successful stuff is in stdout
}
});
:
それから私は、実際に子プロセスを生成します。しかし、私は再び言いますが、これはプロダクションテストではありません - 私はイントラネットのものを嘲笑しています。でも、それは最良のアプローチではないと確信しています!
アップデート2(2013年12月6日):今、この質問を読んだ人々のため
、あなたはgithubの上sql.jsをチェックアウトして興味があるかもしれません。これは、sqliteの純粋なJS実装であり、Windows(または何らかのプラットフォーム)上でやりとりすることに有望です。 npmでインストールするには、パッケージ名はnode-sqlite-purejs
であることにご注意ください。
[node-sqlite/44](https://github.com/orlandov/node-sqlite/issues/44)は、モジュールがWindows(または[43](https:// github。 com/orlandov/node-sqlite/issues/43)のルート)。 – josh3736