1

C++ Linux を使用して、アプリケーションの sqlite db で作業しています。sqlite db を別のマシンに複製する必要があります。

このため、sqlite にはレプリケーション機構がなく、ネットワーク API もないため、c++ fstream を使用して sqlite db ファイルを読み取り、他のマシンで新しい db ファイルを作成したいと考えています。

私は一日苦労しています。

誰でもこれで私を助けることができますか?

以下はコードです:

 ifstream _fstream;
_fstream.open("Sourcefile",ios::in); 
 ofstream _ostream;
_ostream.open("ReplicatedFile",ios::out);
_ostream << _fstream;
_ostream.close();
_fstream.close();
4

2 に答える 2

1

データベースのオンライン バックアップを可能にする組み込みのSQLite Backup APIを参照することをお勧めします。これは、レプリケーションの形式を作成するために使用できます。もちろん、必要に応じて、自分でファイルをリモートの場所に移動する必要があります。sqlite_backup_*()sqlite 関数はデータベースをロックするため、ファイルに直接アクセスするよりも関数を使用するのがおそらく最善です。

于 2012-05-30T10:00:47.450 に答える