4

sqlite3_limit関数を使用して、接続されているデータベースの最大数を設定したいと思います。

sqlite3_limit(db, SQLITE_LIMIT_ATTACHED, 62);

質問1-Androidでこの操作を実行するにはどうすればよいですか?


私はここでhttp://sqlite.org/limits.htmlを読みました-ポイント11。

デフォルトでは10個の接続データベースのソフト制限がありますが、11個のデータベースを正常に接続しました。

質問2-Androidでの最大接続データベースのデフォルトの動作は何ですか?-SQlite3によって課される62のハード制限に設定されていますか?もしそうなら、これが私が必要とするすべてです。

ありがとうY'All

4

1 に答える 1

4

sqlite3_limit制限を下げるためにのみ使用できます:

実行時の制限は、自身の内部データベースと、信頼できない外部ソースによって制御されるデータベースの両方を管理するアプリケーションでの使用を目的としています。[...]内部データベースには、デフォルトの大きな制限を与えることができます。外部ソースによって管理されるデータベースには、サービス拒否攻撃を防ぐために設計されたはるかに小さな制限を与えることができます。

SQLITE_MAX_ATTACHEDSQLiteをコンパイルするとき、ハード制限はシンボルで設定されます。

制限カテゴリSQLITE_LIMIT_NAMEごとに、 SQLITE_MAX_NAMEと呼ばれるCプリプロセッサマクロによってコンパイル時に設定されたハード上限があります。[...]制限をハード上限を超えて増やす試みは、ハード上限にサイレントに切り捨てられます。

Androidデバイスでは、ベンダーが実際にハード制限を引き上げたようですが、他のすべてのデバイスでこれが当てはまるという保証はありません。

于 2013-03-05T18:09:56.483 に答える