ConnectionString プロパティ
AdomdConnection が分析データ ソースを開くために使用する string を取得します。値の設定も可能です。
名前空間: Microsoft.AnalysisServices.AdomdClient
アセンブリ: Microsoft.AnalysisServices.AdomdClient (Microsoft.AnalysisServices.AdomdClient.dll)
構文
'宣言
Public Property ConnectionString As String
Get
Set
'使用
Dim instance As AdomdConnection
Dim value As String
value = instance.ConnectionString
instance.ConnectionString = value
public string ConnectionString { get; set; }
public:
virtual property String^ ConnectionString {
String^ get () sealed;
void set (String^ value) sealed;
}
abstract ConnectionString : string with get, set
override ConnectionString : string with get, set
final function get ConnectionString () : String
final function set ConnectionString (value : String)
プロパティ値
型: System. . :: . .String
AdomdConnection によって使用される接続文字列を含む string です。
実装
説明
ConnectionString プロパティは、OLE DB 接続文字列の形式にできる限り近づけて作られています。ConnectionString プロパティを使用すると、XML for Analysis 1.1 仕様をサポートする分析データ ソースに接続できます。
接続文字列の値の多くに、対応する読み取り専用プロパティがあります。接続文字列が設定されると、エラーが検出されない限り、これらのプロパティがすべて更新されます。エラーが検出された場合は、プロパティは一切更新されません。
閉じている接続の ConnectionString プロパティをリセットすると、接続文字列の値 (および関連するプロパティ) が、パスワードも含めてすべてリセットされます。たとえば、Catalog= Adventure Works DW という文字列を含む接続文字列を設定した後、接続文字列を DataSource=localhost;Password=MyPassword にリセットしたとします。その場合、Adventure Works DW データベースに接続するための設定が、Database プロパティから失われます (接続文字列の Catalog の設定は Database プロパティに対応します)。
このプロパティが設定されていると、接続文字列の予備検証が実行されます。アプリケーションで Open メソッドが呼び出されると、接続文字列が解析されて、個々のプロパティがサポートのレベルに基づいて評価されます。接続文字列で指定されているプロパティが AdomdConnection で直接サポートされている場合は、そのプロパティの値が検証されます。無効な値やサポートされていない値が指定されていた場合は、例外がスローされます。AdomdConnection で直接サポートされてはいないが、有効な XML 要素を作成するために使用できるプロパティについては、値と共に、基になるプロバイダーに直接渡されます。そのようなプロパティに無効な値やサポートされていない値が含まれていた場合は、その時に例外がスローされます。
値は一重または二重の引用符で区切ることができます (例: name='value' または name="value")。区切り文字として使用しない方の引用符は、接続文字列の中で使用できます (例: name="value's" または name= 'value"s'。name='value's' や name= ""value"" は不可)。空白文字は、値に含まれている場合や引用符で囲まれている場合を除いてすべて無視されます。キーワードと値の組み合わせは、セミコロン (;) で区切る必要があります。セミコロンが値の一部である場合は、セミコロンも引用符で区切る必要があります。エスケープ シーケンスは一切サポートされていません。値の型は関係ありません。名前の大文字と小文字は区別されません。接続文字列の中に同じプロパティ名が複数含まれている場合は、最後の箇所で関連付けられた値が使用されます。
注 |
---|
アプリケーションでユーザー入力に基づいて接続文字列を作成する場合 (ユーザー ID とパスワードの情報をダイアログ ボックスから取得して接続文字列に追加する場合など) は、注意が必要です。そのようなアプリケーションでは、ユーザーがそれらの値に余分な接続文字列パラメーターを埋め込むことができないようにする必要があります (たとえば、パスワードを validpassword;database=somedb として入力して別のデータベースに接続しようとする場合などが考えられます)。 |
次の表は、AdomdConnection で直接サポートされている接続文字列設定を示しています。この他に、プロバイダー固有の接続文字列設定もありますが、ここには含まれていません。
設定名 |
設定の別名 |
説明 |
---|---|---|
Timeout |
なし |
AdomdConnection がコマンドの実行を待機する時間を設定します。この時間内にコマンドを実行できなかった場合は、コマンドの実行が中止されてエラーが生成されます。 |
Connect Timeout |
なし |
接続の確立を待機する時間を設定します。この時間内に接続を確立できなかった場合、AdomdConnection は接続を中止してエラーを生成します。 |
Data Source |
DataSourceLocation |
AdomdConnection が接続を確立するインスタンスまたはローカル キューブ (.cub) ファイルを設定します。PowerPivot に埋め込まれたインスタンスと接続する場合は、値を $Embedded$ にする必要があります (ドル記号を含みます)。 |
UserName |
Authenticated User UID User ID |
AdomdConnection が接続を確立するために使用するユーザー ID またはユーザー名を設定します。
注
Authenticated User は現在サポートされません。
|
Password |
PWD |
指定したユーザー名で接続を確立するために AdomdConnection が使用するパスワードを設定します。 |
Catalog |
Initial Catalog Database |
AdomdConnection が接続を確立するデータベースを設定します。 |
ProtectionLevel |
なし |
プロバイダーが接続の署名や暗号化に使用する保護のレベルを設定します。この設定には、次のオプションがあります。
|
Safety Options |
なし |
ユーザー定義関数とユーザー定義アクションのセキュリティの処理方法を決定するために使用される安全性のレベルを設定します。 |
AutoSyncPeriod |
なし |
オブジェクトが自動的にサーバーと同期するまでの時間をミリ秒単位で設定します。 |
ConnectTo |
なし |
AdomdConnection がサーバーへの接続に使用する方法を設定します。8.0 に設定すると、インプロセスの XML for Analysis を使用してサーバーに接続します。9.0 に設定すると、XML for Analysis を使用して接続します。Default に設定すると、まず XML for Analysis を使用して接続し、接続できない場合はインプロセスの XML for Analysis を使用して接続します。 |
Provider |
なし |
データ ソースのプロバイダーの名前を設定します。既定値は MSOLAP です。 |
DataSourceInfo |
なし |
データ ソースにアクセスするために必要なプロバイダー固有の情報を設定します。 |
Integrated Security |
なし |
使用するアクセス制御を設定します。SSPI に設定すると、SSPI 対応のセキュリティ パッケージがユーザー認証に使用されます。Basic に設定する場合は、UserName と Password を設定する必要があります。HTTP 接続で使用できる設定は Basic のみです。 |
CreateCube |
なし |
ローカル キューブの作成時に使用される CREATE CUBE ステートメントを設定します。 |
Protocol Format |
なし |
サーバーに送信される XML の形式を設定します。設定できる値は、Default、XML、および Binary です。 |
Encryption Password |
なし |
ローカル キューブの復号化のためのパスワードを設定します。 |
Impersonation Level |
なし |
サーバーがクライアントの権限を借用するときに使用できる権限借用レベルを設定します。設定できる値は、Anonymous、Identify、Impersonate、および Delegate です。既定値は Impersonate です。 |
SSPI |
なし |
ユーザー認証に使用するセキュリティ パッケージを設定します。設定できる値は、Negotiate、Kerberos、NTLM、および Anonymous User です。既定値は Negotiate です。 |
UseExistingFile |
なし |
既存のファイルを使用するか上書きするかを設定します。true に設定する場合は、ローカル ファイルが既に存在している必要があります。キューブが存在しない場合は作成され、存在する場合はそれが使用されます。false に設定すると、既存のローカル キューブが上書きされます。既定値は false です。 |
Character Encoding |
なし |
文字のエンコード方法を設定します。既定値は、文字列 UTF-8 です。 |
Use Encryption for Data |
なし |
クライアントとサーバーの間で暗号化を使用するかどうかを設定します。true に設定すると、クライアントとサーバーの間で送信されるすべてのデータが SSL (Secure Sockets Layer) 暗号化を使って暗号化されます (サーバーに証明書がインストールされている場合)。 |
Packet Size |
なし |
クライアントとサーバーの間のネットワーク通信のパケット サイズをバイト単位で設定します。この値は 512 ~ 32767 の間にする必要があります。既定値は 4096 です。 |
Extended Properties |
なし |
Extended Properties が含まれている接続文字列をオーバーライドする接続文字列プロパティを設定します。このプロパティはそれ自体が接続文字列であり、その接続文字列のプロパティによって、Extended Properties が含まれている接続文字列がオーバーライドされます。Extended Properties には、別の Extended Properties を含めることができます。その場合は、含まれている方の Extended Properties のプロパティが優先されます。Extended Properties の入れ子には制限はありません。 |
LocaleIdentifier |
なし |
クライアント アプリケーションの優先ロケール ID を設定します。 |
Location |
なし |
サーバーの名前を設定します。 |
Restricted Client |
なし |
クライアントに制限を適用するかどうかを設定します。true に設定すると、クライアントによるローカル キューブやローカル マイニング モデルの使用が制限されます。したがって、クライアントがローカル キューブまたはローカル マイニング モデルを使おうとすると、エラーが発生します。 |
Persist Security Info |
なし |
セキュリティ情報を保存するかどうかを設定します。true に設定すると、接続を開いた後にセキュリティ関連の情報を接続から取得できます。 |
SessionID |
なし |
接続で使用するセッション識別子を設定します。このセッション識別子が既存のセッションと一致しないと、エラーが発生します。 |
Transport Compression |
なし |
接続で通信を圧縮するかどうかを設定します。None に設定すると、圧縮は使用されません。Compressed に設定すると、パケット サイズを小さくするために通信が圧縮される可能性があります。GZIP の設定は、HTTP 接続を圧縮します。Default に設定すると、HTTP 接続で GZIP が使用され、それ以外の場合は圧縮は使用されません。 |
Compression Level |
なし |
圧縮レベルを 0 ~ 9 の範囲で設定します。この値が大きいほど圧縮率が高くなります。 |
SspropInitAppName |
なし |
この接続に関連付けるアプリケーションの名前を設定します。この値は、トレース イベントを監視する場合に便利です。 |
ClientProcessID |
なし |
この接続に関連付けるアプリケーションのプロセス ID を設定します。SspropInitAppName が設定されている場合にこの値を設定しないと、ClientProcessID は、クライアント オペレーティング システムから取得したプロセス ID に自動的に設定されます。この値は、トレース イベントを監視する場合に便利です。 |
Update Isolation Level |
なし |
単一の UPDATE CUBE ステートメント内のセルを互いに分離するかどうかを指定します。既定では、分離されません。 |
SubQueries |
なし |
サブクエリの動作を決定するビットマスクです。このプロパティに使用できる値は、次の表のとおりです。
値説明
0 既定値。Analysis Services の以前のバージョンと互換性があります。 計算されるメンバーまたは計算されるセットが、サブセレクトまたはサブキューブで許可されません。
1 計算されるメンバーまたは計算されるセットが、サブセレクトまたはサブキューブで許可されます。計算されるメンバーの先祖は、サブセレクトまたはサブキューブ空間に含まれません。
2 計算されるメンバーまたは計算されるセットが、サブセレクトまたはサブキューブで許可されます。計算されるメンバーの先祖が、サブセレクトまたはサブキューブ空間に含まれます。
0 または空がこのプロパティの既定値です。 このプロパティは、セッションが作成されたときにだけ設定できるセッション プロパティです。 サブクエリまたはサブキューブでの計算されたメンバーまたは計算されたセットの動作の詳細については、「サブセレクトとサブキューブで計算されるメンバー」を参照してください。 |
AutoExists |
なし |
autoexists の動作を決定します。このプロパティに使用できる値は、次の表のとおりです。
値説明
0 既定値で、1 と同じです。
1 クエリ軸と名前付きセットに deep autoexists を適用します。WHERE 句とサブセレクトを含めます。
2 クエリ軸に deep autoexists を適用し、autoexists から名前付きセットを除外します。WHERE 句とサブセレクトを含めます。
3 WHERE 句と共に使用する名前付きセットには autoexists を適用しません。WHERE 句と共に使用するクエリ軸には shallow autoexists を適用します。サブセレクトと共に使用するクエリ軸とサブセレクトと共に使用する名前付きセットには deep autoexists を適用します。
0 または空がこのプロパティの既定値です。 このプロパティは、セッションが作成されたときにだけ設定できるセッション プロパティです。 |
いくつかの接続文字列設定は、AdomdConnection の対応するプロパティにマップされます。次の表は、接続文字列の設定と AdomdConnection のプロパティの対応を示します。
設定名 |
プロパティ名 |
---|---|
ConnectionTimeout |
ConnectionTimeout |
Catalog |
Database |
注 |
---|
初期化プロパティであるプロパティは、接続を開いた後には変更できません。利用可能な初期化プロパティのセットは、IDBProperties::GetPropertyInfo によってクエリを実行できます。 |
ローカル キューブ ファイルへの接続
既存のローカル キューブ ファイルに接続するには、Data Source 接続文字列設定に有効なローカル キューブ ファイルの完全なパスとファイル名を、Password 接続文字列設定には有効なパスワード (パスワードが設定されている場合) を、それぞれ指定する必要があります。指定したローカル キューブ ファイルが存在しない場合は、新しいローカル キューブ ファイルが作成され、パスワードで保護されます (パスワードを指定した場合)。ローカル キューブが作成される場合には、接続文字列で追加の設定が必要になります (INSERTINTO や CREATECUBE など)。
Safety Options の設定
Safety Options プロパティの値によって、Microsoft PivotTable サービスやサーバーで、安全でないライブラリを登録したり読み込んだりできるかどうかが決まります。安全性の確認が有効になっているときに、安全でないライブラリを読み込もうとしたり、安全でないユーザー定義関数を参照しようとしたりすると、PivotTable サービスによって次のエラーが返されます。
User defined function <function name> cannot be used, because the class that implements it is not safe for initialization or scripting, which is required by client settings.
Safety Options プロパティの値は、PASSTHROUGH キーワードをローカル キューブで使用できるかどうかを決定します。クライアント アプリケーションが、PASSTHROUGH キーワードを含む INSERT INTO ステートメントでローカル キューブを作成しようとしたり、PASSTHROUGH キーワードを使用する INSERT INTO ステートメントを含むローカル キューブを更新しようとしたりすると、エラーが発生します。
次の表は、Safety Options プロパティの使用可能な値の一覧です。
値 |
説明 |
---|---|
0 |
ローカル キューブへの接続や IIS (Internet Information Services) サーバーによる接続では、この値は DBPROPVAL_MSMD_SAFETY_OPTIONS_ALLOW_SAFE と同じです。 他のすべての接続では、この値は DBPROPVAL_MSMD_SAFETY_OPTIONS_ALLOW_ALL と同じです。 |
1 |
この値を指定すると、すべてのユーザー定義関数ライブラリが有効になります。初期化とスクリプト化の安全性は確認されません。また、ローカル キューブでの PASSTHROUGH キーワードの使用も許可されます。 MDSCHEMA_ACTIONS の結果はフィルター処理されません。
注
このオプションは推奨されません。
|
2 |
この値を指定すると、特定のユーザー定義関数ライブラリのすべてのクラスで、初期化とスクリプト化の安全性が確認されます。また、ローカル キューブで PASSTHROUGH キーワードを使用できなくなります。 種類が HTML およびコマンド ラインの MDSCHEMA_ACTIONS の結果は、フィルターにより除外されます。種類が URL の MDSCHEMA_ACTIONS の結果は、CONTENT 列が HTTP:// または HTTPS:// で始まっていない場合、フィルターにより除外されます。 |
3 |
この値を指定すると、セッション中にユーザー定義関数を使用できなくなります。また、ローカル キューブで PASSTHROUGH キーワードを使用できなくなります。 MDSCHEMA_ACTIONS の結果は空になります。 |
Update Isolation Level
Update Isolation Level プロパティの値により、更新時に Analysis Services が各セルを評価する方法が決まります。更新されるセルは、同一の UPDATE ステートメント内の SET コマンドごとに重なる可能性があります。更新されるセルが重ならない場合は、Update Isolate Level を Isolated (1) に設定すると、パフォーマンスを向上できます。ただし、更新されるセルが重なる場合に Update Isolate Level を Isolated (1) に設定すると、UPDATE ステートメントの結果はエラーになります。
次の表は、Update Isolate Level プロパティに指定できる値の一覧です。
値 |
説明 |
---|---|
0 |
分離されません。 |
1 |
分離されます。
注
この値は注意して使用してください。また、この値は、UPDATE CUBE ステートメント内でセルが重ならない場合のみ使用してください。
|
重なりを理解するには、簡単な売上予測キューブの次のファクト テーブル (5 行のみ) を確認してください。
Name |
Gender |
State |
ProjectedSales |
---|---|---|---|
Alice |
Female |
OR |
Null |
Betty |
Female |
WA |
Null |
Charles |
Male |
WA |
Null |
Diego |
Male |
CA |
Null |
Edward |
Male |
CA |
Null |
女性の場合は分布値 100、カリフォルニア (CA) の営業担当者の場合は分布値 200 を Projected Sales に割り当てるとします。この場合、UPDATE CUBE ステートメントは次のようになります。
UPDATE CUBE SalesForcasting SET Female=100, CA=200 USE_EQUAL_INCREMENT
更新されるセルを確認すると、セルが重ならないことがわかります。更新される Female のセルは Alice と Betty のセルで、California のセルは Diego と Edward です。
ここで、分布値 100 をすべての男性に、分布値 200 をワシントン (WA) の全営業担当者に割り当てるとします。この場合、UPDATE CUBE ステートメントは次のようになります。
UPDATE CUBE SalesForcasting SET Male=100, WA=200 USE_EQUAL_INCREMENT
更新されるセルを確認すると、セルが重なることがわかります。更新される Male のセルは Charles、Diego、および Edward のセルで、Washington のセルは Betty と Charles です。Charles のセルが重なります。