ほとんどのデータベースエラーは接続エラーです。接続エラーはあらゆる操作で発生します。接続エラーを防止するための対策はありますが、データベースがアプリケーションの重要な部分である場合、接続エラーから速やかに回復するための簡単な方法はほとんどありません。
ほとんどの接続エラーは、ランタイムとオペレーティングシステム、ファイルシステムおよびデータベースファイルとのやり取りに関連しています。例えば、ファイルシステム上の特定の場所にデータベースファイルを作成する権限がユーザーにないと、接続エラーが発生します。接続エラーを防止するための対策を以下に示します。
-
ユーザー固有のデータベースファイルを使用する
-
1 つのコンピューターでアプリケーションを使用するすべてのユーザーに対して 1 つのデータベースファイルを使用する代わりに、各ユーザーに専用のデータベースファイルを割り当てます。そのファイルは、ユーザーのアカウントに関連付けられているディレクトリに配置します(アプリケーションの格納ディレクトリ、ユーザーのドキュメントフォルダー、ユーザーのデスクトップなど)。
-
様々なユーザーの種類を考慮に入れる
-
様々なオペレーティングシステムで様々な種類のユーザーアカウントを使用してアプリケーションをテストします。ユーザーがコンピューターの管理者権限を持っているとは限りませんし、アプリケーションをインストールしたユーザーがアプリケーションを実行するとも限りません。
-
様々なファイルの場所を考慮に入れる
-
ユーザーがデータベースファイルの保存場所を指定したり、開くファイルを選択したりできるようにする場合は、ユーザーによって使用される可能性があるファイルの場所について検討します。さらに、ユーザーがデータベースファイルを格納できる場所(またはデータベースファイルを開くことができる場所)を制限することも検討します。例えば、自分のユーザーアカウントの格納場所にあるファイルのみを開けるようにすることができます。
接続エラーが発生する可能性が最も高いのは、データベースを最初に作成したり開いたりするときです。したがって、接続エラーが発生すると、ユーザーがアプリケーションでデータベース関連の操作を一切実行できなくなります。読み取り専用エラーや権限エラーなどの一部の種類のエラーに対しては、データベースファイルを別の場所にコピーするという方法でエラーから回復できます。アプリケーションで、ユーザーがファイルの作成や書き込みの権限を持っている別の場所にデータベースファイルをコピーして、その場所を代わりに使用します。