FILEGROUPPROPERTY (Transact-SQL)
更新 : 2006 年 4 月 14 日
リンク サーバー名を使用せずに、4 つの要素で構成されるオブジェクト名の一部としてアドホック接続情報を提供します。
構文
OPENDATASOURCE ( provider_name, init_string )
引数
- provider_name
データ ソースにアクセスするときに使用される、OLE DB プロバイダの PROGID として登録されている名前を指定します。provider_name のデータ型は char で、既定値はありません。
init_string
接続先のプロバイダの IDataInitialize インターフェイスに渡される接続文字列を指定します。プロバイダの文字列には、'keyword1=value;keyword2=value' のように、セミコロンで区切ったキーワードと値の組を指定します。プロバイダでサポートされる、特定のキーワードと値の組み合わせについては、Microsoft Data Access SDK を参照してください。このドキュメントには、基本構文が定義されています。次の表は、init_string 引数で最もよく使われるキーワードの一覧です。
キーワード OLE DB プロパティ 有効な値と説明 Data Source
DBPROP_INIT_DATASOURCE
接続先のデータ ソースの名前。この値の解釈は、プロバイダによって異なります。SQL Native Client OLE DB プロバイダの場合、この値はサーバーの名前を表します。Jet OLE DB プロバイダの場合、この値は.mdb ファイルまたは .xls ファイルのフル パスを表します。
Location
DBPROP_INIT_LOCATION
接続先のデータベースの位置。
Extended Properties
DBPROP_INIT_PROVIDERSTRING
プロバイダ固有の接続文字列。
Connect timeout
DBPROP_INIT_TIMEOUT
接続試行が失敗する基準となるタイムアウト値。
User ID
DBPROP_AUTH_USERID
接続に使用されるユーザー ID。
Password
DBPROP_AUTH_PASSWORD
接続に使用されるパスワード。
Catalog
DBPROP_INIT_CATALOG
データ ソースに接続するときの初期カタログまたは既定のカタログの名前。
Integrated Security
DBPROP_AUTH_INTEGRATED
Windows 認証を指定する SSPI。
解説
OPENDATASOURCE は、OLE DB データ ソースからリモート データにアクセスするときに使用できます。ただしこの場合、指定したプロバイダに対して DisallowAdhocAccess レジストリ オプションが明示的に 0 に設定されており、Ad Hoc Distributed Queries 詳細構成オプションが有効になっている必要があります。これらのオプションが設定されていない場合は、既定でアドホック接続は許可されません。
OPENDATASOURCE 関数は、Transact-SQL 構文内のリンク サーバー名と同じ位置で使用できます。つまり、この関数は、4 つの要素で構成される名前の先頭で、SELECT、INSERT、UPDATE、および DELETE ステートメント内のテーブル名やビュー名、または EXECUTE ステートメント内のリモート ストアド プロシージャを参照する要素として使用できます。リモート ストアド プロシージャを実行する場合、OPENDATASOURCE では別の SQL Server インスタンスを参照する必要があります。OPENDATASOURCE の引数に変数は指定できません。
OPENROWSET 関数と同様に、OPENDATASOURCE では、あまり頻繁にアクセスされない OLE DB データ ソースだけを参照してください。頻繁にアクセスされるデータ ソースに対してはリンク サーバーを定義します。OPENDATASOURCE でも OPENROWSET でも、リンク サーバー定義のすべての機能は提供されず、たとえばセキュリティ管理やカタログ情報に対してクエリを実行することはできません。すべての接続情報は、パスワードを含め、OPENDATASOURCE を呼び出すたびに指定する必要があります。
重要 : |
---|
Windows 認証は、SQL Server 認証よりもはるかに安全性に優れています。できるだけ Windows 認証を使用してください。接続文字列では、OPENDATASOURCE と共に明示的なパスワードを指定しないでください。 |
権限
すべてのユーザーが OPENDATASOURCE を実行できます。リモート サーバーへの接続に使用される権限は、接続文字列によって決まります。
例
次の例では、サーバー London
上の SQL Server の Payroll
インスタンスにアドホック接続を作成し、AdventureWorks.HumanResources.Employee
テーブルをクエリします。
SELECT *
FROM OPENDATASOURCE('SQLNCLI',
'Data Source=London\Payroll;Integrated Security=SSPI')
.AdventureWorks.HumanResources.Employee
参照
関連項目
OPENROWSET (Transact-SQL)
sp_addlinkedserver (Transact-SQL)
その他の技術情報
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 4 月 14 日 |
|