次の方法で共有


SqlCeConnection.ConnectionString プロパティ

データベースを開くために使用する文字列を取得または設定します。

名前空間:  System.Data.SqlServerCe
アセンブリ:  System.Data.SqlServerCe (System.Data.SqlServerCe.dll)

構文

'宣言
Public Overrides Property ConnectionString As String
    Get
    Set
'使用
Dim instance As SqlCeConnection
Dim value As String

value = instance.ConnectionString

instance.ConnectionString = value
public override string ConnectionString { get; set; }
public:
virtual property String^ ConnectionString {
    String^ get () override;
    void set (String^ value) override;
}
abstract ConnectionString : string with get, set
override ConnectionString : string with get, set
override function get ConnectionString () : String
override function set ConnectionString (value : String)

プロパティ値

型: System.String
データ ソース名を含む .NET Compact Framework Data Provider for SQL Server Compact の接続文字列、および初期接続を確立するために必要なその他のパラメータ。既定値は空の文字列です。

実装

IDbConnection.ConnectionString

例外

例外 条件
ArgumentException

無効な接続文字列が引数として指定されています。

説明

ConnectionString プロパティを設定できるのは、接続が閉じているときだけです。接続文字列値の多くには、対応する読み取り専用プロパティがあります。接続文字列を設定すると、エラーが検出された場合を除いて、これらのプロパティがすべて更新されます。エラーが発生した場合は、いずれのプロパティも更新されません。SqlCeConnection プロパティは、ConnectionString に含まれている設定だけを返します。

閉じた接続に対して ConnectionString をリセットすると、パスワードを含むすべての接続文字列値および関連プロパティがリセットされます。

SQL Server Compact でサポートしている ConnectionString プロパティの一覧を次の表に示します。

プロパティ

説明

data source または datasource

SQL Server Compact データベースのファイル パスとファイル名。アプリケーション ディレクトリからデータベースへの相対パスを示すには、Data Source = |DataDirectory| (パイプ記号で囲みます) 置換文字列を使用します。アプリケーションのデータ ディレクトリを設定するには、AppDomain オブジェクトに対して SetData() メソッドを使用します。DataDirectory はデバイスでサポートされていません。詳細については、「デスクトップ コンピューターへのインストールと配置 (SQL Server Compact)」を参照してください。

Password または Pwd または database password または ssce:database password

データベースのパスワード。40 文字まで指定できます。指定しない場合、既定値では、パスワードが使用されません。このプロパティは、データベースで暗号化を有効にする場合に必要です。パスワードを指定した場合、暗号化がデータベースで自動的に有効になります。パスワードを空白にすると、データベースは暗号化されません。

ssce:enlist

または

enlist

既定では、enlist の値は false です。この値は true に設定できます。true に設定した Enlist を使用して SQL Server Compact データベースへの接続を開くと、接続はトランザクションに昇格します。

ssce:encryption mode

または

encryption mode

このプロパティの値は次のいずれかになります。

engine default

または

platform default

既定値は platform default です。

注意
このプロパティはデータベース作成時オプションであり、既存のデータベースへの接続時には無視されます。

Encrypt または encrypt database または ssce: encrypt database

データベースを暗号化するかどうかを表すブール値。暗号化を有効にする場合は true を設定し、暗号化を無効にする場合は false を設定します。指定しない場合、既定値は false です。暗号化を有効にする場合は、password プロパティでパスワードを指定する必要もあります。パスワードを指定すると、このプロパティの設定に関係なく、暗号化が有効になります。

注意
このプロパティはデータベース作成時オプションであり、既存のデータベースへの接続時には無視されます。SSCE:Database パスワードを指定すると、SSCE:Encrypt Database が指定されているかどうかに関係なく、データベースは常に暗号化されます。

max buffer size または ssce:max buffer size

SQL Server Compact で使用可能なメモリの最大サイズ (KB 単位)。これを超えると、変更はディスクにフラッシュされます。指定しない場合、既定値は 640 です。

max database size または ssce:max database size

データベースの最大サイズ (MB 単位)。指定しない場合、既定値は 128 です。

Mode または file mode または ssce:mode

データベース ファイルを開くときに使用するモード。有効なモードについては、次の表を参照してください。指定しない場合、既定値は "Read Write" です。

default lock timeout または ssce: default lock timeout

トランザクションがロックを待機する既定の期間 (ミリ秒)。指定しない場合、既定値は 2000 です。

default lock escalation または ssce:default lock escalation

トランザクションが行からページ、またはページからテーブルへとエスカレーションを試みるまでに取得するロックの数。指定しない場合、既定値は 100 です。

flush interval または ssce:flush interval

コミットされたすべてのトランザクションがディスクにフラッシュされるまでの時間間隔 (秒単位) を指定します。指定しない場合、既定値は 10 です。

autoshrink threshold または ssce:autoshrink threshold

自動圧縮が開始されるまで、データベース ファイルに許容されている空き容量の割合 (%)。値を 100 に設定すると、自動圧縮が無効になります。指定しない場合、既定値は 60 です。

temp path または temp file directory または ssce:temp file directory

一時データベースの場所。指定しない場合、既定では、一時保存に使用されるデータ ソース プロパティで指定したデータベースです。

temp file max size

一時データベース ファイルの最大サイズ (MB 単位)。指定しない場合、既定値は 128 です。

persist security info

false に設定すると (推奨)、接続が開いているか、開いている状態になったことがある場合、パスワードなど機密性の高い情報が接続文字列の一部として返されません。接続文字列をリセットすると、パスワードを含むすべての接続文字列値がリセットされます。既定値は false です。

locale identifier または Lcid または initial lcid

このデータベースで使用するロケール ID (LCID)。有効な LCID の値は、CultureInfo クラスにリストされています。

注意
このプロパティはデータベース作成時オプションであり、既存のデータベースへの接続時には無視されます。

Case Sensitive または CaseSensitive

データベース照合順序で大文字と小文字を区別するかどうかを表すブール値。照合順序で大文字と小文字の区別を有効にする場合は true を設定し、無効にする場合は false を設定します。指定しない場合、既定値は false です。既存の SQL Server Compact データベースに、接続文字列で "Case Sensitive" プロパティを指定して接続する場合、SQL Server Compact 3.5 SP1 ではこの設定が無視されます。

注意
このプロパティはデータベース作成時オプションであり、既存のデータベースへの接続時には無視されます。

接続文字列の mode プロパティの有効な値を次の表に示します。

定義

Read Write

複数のプロセスがデータベースを開いて変更できるようにします。mode プロパティを指定していない場合は、この値が既定値になります。

Read Only

データベースの読み取り専用コピーを開けます。

Exclusive

他のプロセスがデータベースを開いたり、変更したりできないようにします。

Shared Read

データベースを開いている間も、他のプロセスからの読み取りを許可しますが、他のプロセスからの変更は禁止します。

プロパティの設定時には、接続文字列に対して予備的な検証が実行されます。アプリケーションが Open メソッドを呼び出したときは、接続文字列が完全に検証されます。接続文字列にサポートされないプロパティまたは無効なプロパティが含まれている場合は、実行時に、ArgumentException などのランタイム例外が発生します。

接続文字列には、次の規則が適用されます。

  1. 値内または引用符内を除いて、空白文字はすべて無視されます。

  2. キーワードと値の組は、セミコロン (;) で区切る必要があります。セミコロンが値の一部である場合は、値を引用符で区切る必要があります。

  3. エスケープ シーケンスはサポートされません。

  4. 値の型は無関係です。

  5. 名前の大文字と小文字は区別されません。

  6. 接続文字列内に同じプロパティ名が複数含まれている場合は、最後に出現するものに関連付けられた値が使用されます。

  7. 値は、name='value'、name="value" など、単一引用符または二重引用符で区切ることができます。単一引用符または二重引用符を接続文字列内で使用する場合は、他の区切り文字を使用する必要があります。たとえば、接続文字列内で引用符を有効に使用するには、次のように指定します。

    "data source='MyDb.sdf'; mode=Exclusive;"
    'data source="MyDb.sdf"; mode=Exclusive;'
    

    次の例は無効です。

    "data source="MyDb.sdf"; mode=Exclusive;"
    'data source='MyDb.sdf'; mode=Exclusive;'
    

使用例

SqlCeConnection を作成し、そのプロパティの一部を接続文字列に設定する例を次に示します。

Dim conn As New SqlCeConnection()

' Set some connection string properties e.g.:
' 
conn.ConnectionString = _
    "Persist Security Info = False; Data Source = 'SalesData.sdf';" & _
    "Password = '<password>'; File Mode = 'shared read'; " & _
    "Max Database Size = 256; Max Buffer Size = 1024"

conn.Open()

' You can change the database while preserving 
' the orignal connection options
'
conn.ChangeDatabase("SupportData.sdf")
SqlCeConnection conn = new SqlCeConnection();

// Set some connection string properties e.g.:
// 
conn.ConnectionString = 
    "Persist Security Info = False; Data Source = 'SalesData.sdf';" +
    "Password = '<password>'; File Mode = 'shared read'; " +
    "Max Database Size = 256; Max Buffer Size = 1024";

conn.Open();

// You can change the database while preserving 
// the orignal connection options
//
conn.ChangeDatabase("SupportData.sdf");

関連項目

参照

SqlCeConnection クラス

System.Data.SqlServerCe 名前空間

その他の技術情報

以前のバージョンからのアップグレード (SQL Server Compact)