2016-12-21 14 views
1

Linux上の私のC++クライアントはsqlite3を使用しています。同じdbをnode.jsで開く予定です。
つまり、スレッドではなく、他のプロセス間で同じデータベースファイルを使用したいということです。プロセス間でインメモリDBを共有する方法はありますか?

私のウィンドウでは、2つのcmdシェルでsqlite3.exeを実行しました。第一CMDシェルで

、第二cmdはシェルで

sqlite3.exe
sqlite> ATTACH DATABASE 'file:memdb1?mode=memory&cache=shared' AS aux1;
sqlite> create table items (name varchar(20));
sqlite> insert into items (name) values ('item1');

sqlite3.exe
sqlite> ATTACH DATABASE 'file:memdb1?mode=memory&cache=shared' AS aux1;
sqlite> select * from items;
Error: no such table: items

任意の提案やコメントは感謝するでしょう。

+0

サイドノートとして、Windowsのsqlite 3.8.7.1でテストしました。 –

答えて

0

documentation

all database connections sharing the in-memory database need to be in the same process.

は、あなたがファイルを使用するか、または独自の共有メモリVFSを書いて、それを使用するようにプログラムやNode.jsの両方を再コンパイルする必要があると述べています。

+0

VFSに関するご意見ありがとうございました。 –

関連する問題