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 などのランタイム例外が発生します。
接続文字列には、次の規則が適用されます。
値内または引用符内を除いて、空白文字はすべて無視されます。
キーワードと値の組は、セミコロン (;) で区切る必要があります。セミコロンが値の一部である場合は、値を引用符で区切る必要があります。
エスケープ シーケンスはサポートされません。
値の型は無関係です。
名前の大文字と小文字は区別されません。
接続文字列内に同じプロパティ名が複数含まれている場合は、最後に出現するものに関連付けられた値が使用されます。
値は、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");