3

シリアル化して別のコンピューターに送信したいインメモリ SQLite データベースがあります。データベースをディスクに書き出さず、そこからファイルを読み取ることなく、これは可能ですか?

4

2 に答える 2

2

sqlite3シェル プログラムには、.dump「データベースを SQL テキスト形式でダンプする」コマンドが含まれています。ソース コード.dump(パブリック ドメイン) を使用して、独自のシリアライザーを作成できます。

于 2012-08-10T18:24:42.763 に答える
2

オンライン バックアップ API を使用して、メモリ内データベースを共有メモリ (Linux の場合、たとえば /dev/shm 内) に作成されたファイルベースのデータベースに転送し、ディスク操作を回避できます。次に、この疑似ファイルがリモート ホストに転送され (引き続き /dev/shm に置かれます)、オンライン ロード API を使用して、ファイルベースのデータベースからターゲットのメモリ内データベースに転送されます。

見る:

http://www.sqlite.org/backup.html

http://www.sqlite.org/c3ref/backup_finish.html

私の知る限り、中間データベースなしでオンライン/ロードを実行する API はありません。

于 2012-08-10T17:10:35.797 に答える