パスワードによるデータベースの保護
Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) データベース エンジン を使用して、ローカル データベースにアクセスするユーザーに対してパスワードの入力を求めることができます。SQL Server Compact Edition では、セキュリティで保護されるデータベースに対してパスワードが 1 つ作成されます。データベースを使用する各ユーザーにパスワードが割り当てられるのではありません。SQL Server Compact Edition データベースのパスワードには、以下の特徴があります。
- 最大 40 文字まで指定できます。
- 文字、記号、数字、またはこれらの組み合わせを指定できます。
- 復元できません。
メモ : |
---|
パスワードを設定しても、クリア テキストとしてデータベース ファイルが開かれてしまうと、そのデータの閲覧を防ぐことはできません。暗号化とパスワードの両方を使用すると、データを暗号化形式で格納し、プログラムによるデータベースへのアクセスを制限することができます。 |
パスワードで保護されたデータベースの作成
パスワードで保護されたデータベースを作成するには、データベースの作成時にパスワード プロパティを設定します。このデータベースを作成するいくつかの方法を以下に示します。
SQL 構文を使用する方法
パスワードで保護されたデータベースを SQL 構文を使用して作成するには、CREATE DATABASE ステートメントでデータベース パスワードを指定します。DATABASEPASSWORD キーワードの後に、パスワードを単一引用符で囲んで指定する必要があります。以下に例を示します。CREATE DATABASE "secure.sdf" DATABASEPASSWORD '<myPassword>'
ADO .NET を使用する方法
パスワードで保護されたデータベースを SqlCeEngine.CreateDatabase メソッドを使用して作成するには、接続文字列にパスワード プロパティを指定する必要があります。以下に例を示します。"data source=\ssce.sdf; password=<myPassword>"
詳細については、Microsoft Visual Studio 2005 の Microsoft .NET Compact Framework Software Development Kit (SDK) に含まれる System.Data.SqlServerCe.SqlCeEngine クラスに関する情報を参照してください。
OLE DB を使用する方法
OLE DB Provider for SQL Server Compact Edition を使用して暗号化されたデータベースを作成するには、プロバイダ固有のプロパティ DBPROP_SSCE_ENCRYPTDATABASE を VARIANT_TRUE として渡し、プロバイダ固有のプロパティ DBPROP_SSCE_DBPASSWORD を使用してパスワードを指定する必要があります。
パスワードで保護されたデータベースへのアクセス
パスワードで保護されたデータベースを開くには、パスワードを入力する必要があります。このデータベースにアクセスするいくつかの方法を以下に示します。
SQL Server Compact Edition のデータ プロバイダを使用する方法
パスワードで保護されたデータベースに SqlCeConnection.Open メソッドを使用してアクセスするには、接続文字列にパスワード プロパティを指定する必要があります。以下に例を示します。"data source=\ssce.sdf; password=<myPassword>"
詳細については、Visual Studio 2005 の .NET Compact Framework SDK にある System.Data.SqlServerCe.SqlCeConnection クラスに関する情報を参照してください。
OLE DB を使用する方法
SQL Server Compact Edition では、ファイル レベルのアクセス制御メカニズムをサポートしています。このメカニズムでは、パスワードで保護された SQL Server Compact Edition データベースにアクセスする際にパスワードが必要です。このパスワードは、データベースを開くたびに渡す必要があります。パスワードを指定するには、プロバイダ固有のプロパティ セット DBPROPSET_SSCE_DBINIT の DBPROP_SSCE_DBPASSWORD プロパティを使用します。データベースの作成時には、このプロパティを使用して新しいデータベースのデータベース パスワードを指定できます。暗号化されたデータベースは、常にパスワードで保護されます。