Microsoft OLE DB Provider for SQL Server

Microsoft OLE DB Provider for SQL Server (SQLOLEDB) を利用すると、ADO から Microsoft SQL Server にアクセスできます。

接続文字列パラメータ

このプロバイダに接続するには、ConnectionString プロパティの Provider 引数を次のように設定します。

SQLOLEDB

この値の設定または取得には、Provider プロパティを使用します。

接続文字列の例

このプロバイダの代表的な接続文字列を次に示します。

"Provider=SQLOLEDB;Data Source=serverName;Initial Catalog=databaseName; User ID=userName;Password=userPassword;"

この接続文字列は、次に示すキーワードで構成されています。

キーワード 説明
Provider OLE DB Provider for SQL Serverを指定します。
Data Source または Server サーバー名を指定します。
Initial Catalog または Database サーバー上のデータベース名を指定します。
User ID または uid SQL Server 認証用のユーザー名を指定します。
Password または pwd SQL Server 認証用のユーザー パスワードを指定します。

プロバイダ固有の接続パラメータ

このプロバイダは、ADO で定義されたパラメータのほかに、プロバイダ固有の各種の接続パラメータをサポートしています。プロバイダ固有のプロパティは、ADO で定義されている接続プロパティと同様に、Connection オブジェクトの Properties コレクションで設定するか、ConnectionString の一部として設定することができます。

パラメータ 説明
Trusted_Connection ユーザー認証モードを示します。Yes または No に設定できます。既定値は No です。このプロパティが Yes に設定されている場合、SQLOLEDB は、Microsoft Windows NT 認証モードを使用して、Location プロパティおよび Datasource プロパティの値で指定された SQL Server データベースへのユーザー アクセスを認可します。このプロパティが No に設定されている場合、SQLOLEDB は、混在モードを使用して SQL Server データベースへのユーザー アクセスを認可します。SQL Server のログイン名およびパスワードは、User Id プロパティおよび Password プロパティで指定します。
Current Language SQL Server の言語名を示します。システム メッセージおよびフォーマットで使用する言語を識別します。指定する言語は、SQL Server にインストールされている必要があります。インストールされていない場合は、その接続を開くことはできません。
Network Address Location プロパティで指定された SQL Server のネットワーク アドレスを示します。
Network Library SQL Server との通信に使用するネットワーク ライブラリ (DLL) 名を示します。この名前には、パスまたは .dll 拡張子を含めないでください。既定値は、SQL Server クライアントの設定から取得されます。
Use Procedure for Prepare Prepared プロパティによって Commands が用意されている場合に、SQL Server が一時的なストアド プロシージャを作成するかどうかを決定します。
Auto Translate OEM/ANSI 文字変換を実行するかどうかを示します。このプロパティは、True または False に設定できます。既定値は True です。このプロパティを True に設定すると、複数バイト文字による文字列を SQL Server とやり取りするときに、OEM/ANSI 文字変換が実行されます。このプロパティを False に設定すると、複数バイト文字による文字列データの OEM/ANSI 文字変換は実行されません。
Packet Size ネットワーク パケット サイズをバイト単位で示します。このプロパティ値は、512 ~ 32767 の値にする必要があります。SQLOLEDB のネットワーク パケット サイズの既定値は 4096 です。
Application Name クライアント アプリケーション名を示します。
Workstation ID ワークステーションを識別する文字列です。

Command オブジェクトの使用方法

SQLOLEDB は、ODBC、ANSI、および SQL Server 固有の Transact-SQL が混在する構文を、有効な構文として受け入れます。たとえば、次の SQL ステートメントでは、ODBC SQL エスケープ シーケンスを使って文字列関数の LCASE を指定しています。

SELECT customerid={fn LCASE(CustomerID)} FROM Customers
  

LCASE は、大文字をすべて小文字に変換した文字列を返します。ANSI SQL 文字列関数の LOWER は、LCASE と同じ処理を実行します。次の SQL ステートメントでは、前に示した ODBC によるステートメントと同じ操作を ANSI によって指定しています。

SELECT customerid=LOWER(CustomerID) FROM Customers
  

コマンドのテキストとして指定されている場合、SQLOLEDB は、どちらの形式のステートメントも正しく処理します。

ストアド プロシージャ

SQLOLEDB のコマンドを使って SQL Server ストアド プロシージャを実行するときは、コマンド テキストで、ODBC プロシージャ呼び出しエスケープ シーケンスを使用してください。SQLOLEDB は、SQL Server のリモート プロシージャ呼び出しのメカニズムを使用してコマンド処理を最適化します。たとえば、次の ODBC SQL ステートメントと、後の Transact-SQL 形式のステートメントでは、ODBC SQL 形式の方をお勧めします。

ODBC SQL

{call SalesByCategory('Produce', '1995')}
  

Transact-SQL

EXECUTE SalesByCategory 'Produce', '1995'
 

Recordset の動作

SQLOLEDB では、多くのコマンドによって生成される複数の結果をサポートする SQL Server カーソルを使用できません。SQL Server カーソルのサポートを必要とするレコードセットを要求した場合、そのコマンド テキストの結果として 1 つ以上のレコードセットが生成されると、エラーが発生します。

スクロール可能な SQLOLEDB レコードセットは、SQL Server カーソルによってサポートされます。SQL Server では、データベースの別のユーザーによって変更される可能性があるカーソルに制限を加えています。特に、一部のカーソルでは行を並べ替えることができず、SQL の ORDER BY 句を含むコマンドによるレコードセットの作成に失敗することがあります。

ダイナミック プロパティ

Microsoft OLE DB Provider for SQL Server は、開かれていない Connection オブジェクト、Recordset オブジェクト、および Command オブジェクトの Properties コレクションに各種のダイナミック プロパティを追加します。

次の表は、各ダイナミック プロパティの ADO プロパティ名および対応する OLE DB プロパティ名の一覧です。「OLE DB Programmer's Reference」では、「Description」で ADO プロパティ名について触れています。これらのプロパティの詳細については、「OLE DB Programmer's Reference」の「Index」で OLE DB プロパティ名を検索するか、「Appendix C: OLE DB Properties」を参照してください。.

Connection ダイナミック プロパティ

次に示すプロパティが、Connection オブジェクトの Properties コレクションに追加されます。

ADO プロパティ名 OLE DB プロパティ名
Active Sessions DBPROP_ACTIVESESSIONS
Asynchable Abort DBPROP_ASYNCTXNABORT
Asynchable Commit DBPROP_ASYNCTNXCOMMIT
Autocommit Isolation Levels DBPROP_SESS_AUTOCOMMITISOLEVELS
Catalog Location DBPROP_CATALOGLOCATION
Catalog Term DBPROP_CATALOGTERM
Column Definition DBPROP_COLUMNDEFINITION
Connect Timeout DBPROP_INIT_TIMEOUT
Current Catalog DBPROP_CURRENTCATALOG
Data Source DBPROP_INIT_DATASOURCE
Data Source Name DBPROP_DATASOURCENAME
Data Source Object Threading Model DBPROP_DSOTHREADMODEL
DBMS Name DBPROP_DBMSNAME
DBMS Version DBPROP_DBMSVER
Extended Properties DBPROP_INIT_PROVIDERSTRING
GROUP BY Support DBPROP_GROUPBY
Heterogeneous Table Support DBPROP_HETEROGENEOUSTABLES
Identifier Case Sensitivity DBPROP_IDENTIFIERCASE
Initial Catalog DBPROP_INIT_CATALOG
Isolation Levels DBPROP_SUPPORTEDTXNISOLEVELS
Isolation Retention DBPROP_SUPPORTEDTXNISORETAIN
Locale Identifier DBPROP_INIT_LCID
Maximum Index Size DBPROP_MAXINDEXSIZE
Maximum Row Size DBPROP_MAXROWSIZE
Maximum Row Size Includes BLOB DBPROP_MAXROWSIZEINCLUDESBLOB
Maximum Tables in SELECT DBPROP_MAXTABLESINSELECT
Multiple Parameter Sets DBPROP_MULTIPLEPARAMSETS
Multiple Results DBPROP_MULTIPLERESULTS
Multiple Storage Objects DBPROP_MULTIPLESTORAGEOBJECTS
Multi-Table Update DBPROP_MULTITABLEUPDATE
NULL Collation Order DBPROP_NULLCOLLATION
NULL Concatenation Behavior DBPROP_CONCATNULLBEHAVIOR
OLE DB Version DBPROP_PROVIDEROLEDBVER
OLE Object Support DBPROP_OLEOBJECTS
Open Rowset Support DBPROP_OPENROWSETSUPPORT
ORDER BY Columns in Select List DBPROP_ORDERBYCOLUMNSINSELECT
Output Parameter Availability DBPROP_OUTPUTPARAMETERAVAILABILITY
Pass By Ref Accessors DBPROP_BYREFACCESSORS
Password DBPROP_AUTH_PASSWORD
Persist Security Info DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO
Persistent ID Type DBPROP_PERSISTENTIDTYPE
Prepare Abort Behavior DBPROP_PREPAREABORTBEHAVIOR
Prepare Commit Behavior DBPROP_PREPARECOMMITBEHAVIOR
Procedure Term DBPROP_PROCEDURETERM
Prompt DBPROP_INIT_PROMPT
Provider Friendly Name DBPROP_PROVIDERFRIENDLYNAME
Provider Name DBPROP_PROVIDERFILENAME
Provider Version DBPROP_PROVIDERVER
Read-Only Data Source DBPROP_DATASOURCEREADONLY
Rowset Conversions on Command DBPROP_ROWSETCONVERSIONSONCOMMAND
Schema Term DBPROP_SCHEMATERM
Schema Usage DBPROP_SCHEMAUSAGE
SQL Support DBPROP_SQLSUPPORT
Structured Storage DBPROP_STRUCTUREDSTORAGE
Subquery Support DBPROP_SUBQUERIES
Table Term DBPROP_TABLETERM
Transaction DDL DBPROP_SUPPORTEDTXNDDL
User ID DBPROP_AUTH_USERID
User Name DBPROP_USERNAME
Window Handle DBPROP_INIT_HWND

Recordset ダイナミック プロパティ

次に示すプロパティが、Recordset オブジェクトの Properties コレクションに追加されます。

ADO プロパティ名 OLE DB プロパティ名
Access Order DBPROP_ACCESSORDER
Blocking Storage Objects DBPROP_BLOCKINGSTORAGEOBJECTS
Bookmark Type DBPROP_BOOKMARKTYPE
Bookmarkable DBPROP_IROWSETLOCATE
Change Inserted Rows DBPROP_CHANGEINSERTEDROWS
Column Privileges DBPROP_COLUMNRESTRICT
Column Set Notification DBPROP_NOTIFYCOLUMNSET
Command Time Out DBPROP_COMMANDTIMEOUT
Defer Column DBPROP_DEFERRED
Delay Storage Object Updates DBPROP_DELAYSTORAGEOBJECTS
Fetch Backwards DBPROP_CANFETCHBACKWARDS
Hold Rows DBPROP_CANHOLDROWS
IAccessor DBPROP_IAccessor
IColumnsInfo DBPROP_IColumnsInfo
IColumnsRowset DBPROP_IColumnsRowset
IConnectionPointContainer DBPROP_IConnectionPointContainer
IConvertType DBPROP_IConvertType
Immobile Rows DBPROP_IMMOBILEROWS
IRowset DBPROP_IRowset
IRowsetChange DBPROP_IRowsetChange
IRowsetIdentity DBPROP_IRowsetIdentity
IRowsetInfo DBPROP_IRowsetInfo
IRowsetLocate DBPROP_IRowsestLocate
IRowsetResynch  
IRowsetScroll DBPROP_IRowsetScroll
IRowsetUpdate DBPROP_IRowsetUpdate
ISequentialStream DBPROP_ISequentialStream
ISupportErrorInfo DBPROP_ISupportErrorInfo
Literal Bookmarks DBPROP_LITERALBOOKMARKS
Literal Row Identity DBPROP_LITERALIDENTITY
Maximum Open Rows DBPROP_MAXOPENROWS
Maximum Pending Rows DBPROP_MAXPENDINGROWS
Maximum Rows DBPROP_MAXROWS
Notification Granularity DBPROP_NOTIFICATIONGRANULARITY
Notification Phases DBPROP_NOTIFICATIONPHASES
Objects Transacted DBPROP_TRANSACTEDOBJECT
Others' Changes Visible DBPROP_OTHERUPDATEDELETE
Others' Inserts Visible DBPROP_OTHERINSERT
Own Changes Visible DBPROP_OWNUPDATEDELETE
Own Inserts Visible DBPROP_OWNINSERT
Preserve on Abort DBPROP_ABORTPRESERVE
Preserve on Commit DBPROP_COMMITPRESERVE
Quick Restart DBPROP_QUICKRESTART
Reentrant Events DBPROP_REENTRANTEVENTS
Remove Deleted Rows DBPROP_REMOVEDELETED
Report Multiple Changes DBPROP_REPORTMULTIPLECHANGES
Return Pending Inserts DBPROP_RETURNPENDINGINSERTS
Row Delete Notification DBPROP_NOTIFYROWDELETE
Row First Change Notification DBPROP_NOTIFYROWFIRSTCHANGE
Row Insert Notification DBPROP_NOTIFYROWINSERT
Row Privileges DBPROP_ROWRESTRICT
Row Resynchronization Notification DBPROP_NOTIFYROWRESYNCH
Row Threading Model DBPROP_ROWTHREADMODEL
Row Undo Change Notification DBPROP_NOTIFYROWUNDOCHANGE
Row Undo Delete Notification DBPROP_NOTIFYROWUNDODELETE
Row Undo Insert Notification DBPROP_NOTIFYROWUNDOINSERT
Row Update Notification DBPROP_NOTIFYROWUPDATE
Rowset Fetch Position Change Notification DBPROP_NOTIFYROWSETFETCHPOSISIONCHANGE
Rowset Release Notification DBPROP_NOTIFYROWSETRELEASE
Scroll Backwards DBPROP_CANSCROLLBACKWARDS
Server Cursor DBPROP_SERVERCURSOR
Skip Deleted Bookmarks DBPROP_BOOKMARKSKIPPED
Strong Row Identity DBPROP_STRONGITDENTITY
Unique Rows DBPROP_UNIQUEROWS
Updatability DBPROP_UPDATABILITY
Use Bookmarks DBPROP_BOOKMARKS

Command ダイナミック プロパティ

次に示すプロパティが、Command オブジェクトの Properties コレクションに追加されます。

ADO プロパティ名 OLE DB プロパティ名
Access Order DBPROP_ACCESSORDER
Blocking Storage Objects DBPROP_BLOCKINGSTORAGEOBJECTS
Bookmark Type DBPROP_BOOKMARKTYPE
Bookmarkable DBPROP_IROWSETLOCATE
Change Inserted Rows DBPROP_CHANGEINSERTEDROWS
Column Privileges DBPROP_COLUMNRESTRICT
Column Set Notification DBPROP_NOTIFYCOLUMNSET
Defer Column DBPROP_DEFERRED
Delay Storage Object Updates DBPROP_DELAYSTORAGEOBJECTS
Fetch Backwards DBPROP_CANFETCHBACKWARDS
Hold Rows DBPROP_CANHOLDROWS
IAccessor DBPROP_IAccessor
IColumnsInfo DBPROP_IColumnsInfo
IColumnsRowset DBPROP_IColumnsRowset
IConnectionPointContainer DBPROP_IConnectionPointContainer
IConvertType DBPROP_IConvertType
Immobile Rows DBPROP_IMMOBILEROWS
IRowset DBPROP_IRowset
IRowsetChange DBPROP_IRowsetChange
IRowsetIdentity DBPROP_IRowsetIdentity
IRowsetInfo DBPROP_IRowsetInfo
IRowsetLocate DBPROP_IRowsetLocate
IRowsetResynch  
IRowsetScroll DBPROP_IRowsetScroll
IRowsetUpdate DBPROP_IRowsetUpdate
ISequentialStream DBPROP_ISequentialStream
ISupportErrorInfo DBPROP_ISupportErrorInfo
Literal Bookmarks DBPROP_LITERALBOOKMARKS
Literal Row Identity DBPROP_LITERALIDENTITY
Lock Mode DBPROP_LOCKMODE
Maximum Open Rows DBPROP_MAXOPENROWS
Maximum Pending Rows DBPROP_MAXPENDINGROWS
Maximum Rows DBPROP_MAXROWS
Notification Granularity DBPROP_NOTIFICATIONGRANULARITY
Notification Phases DBPROP_NOTIFICATIONPHASES
Objects Transacted DBPROP_TRANSACTEDOBJECT
Others' Changes Visible DBPROP_OTHERUPDATEDELETE
Others' Inserts Visible DBPROP_OTHERINSERT
Own Changes Visible DBPROP_OWNUPDATEDELETE
Own Inserts Visible DBPROP_OWNINSERT
Preserve on Abort DBPROP_ABORTPRESERVE
Preserve on Commit DBPROP_COMMITPRESERVE
Quick Restart DBPROP_QUICKRESTART
Reentrant Events DBPROP_REENTRANTEVENTS
Remove Deleted Rows DBPROP_REMOVEDELETED
Report Multiple Changes DBPROP_REPORTMULTIPLECHANGES
Return Pending Inserts DBPROP_RETURNPENDINGINSERTS
Row Delete Notification DBPROP_NOTIFYROWDELETE
Row First Change Notification DBPROP_NOTIFYROWFIRSTCHANGE
Row Insert Notification DBPROP_NOTIFYROWINSERT
Row Privileges DBPROP_ROWRESTRICT
Row Resynchronization Notification DBPROP_NOTIFYROWRESYNCH
Row Threading Model DBPROP_ROWTHREADMODEL
Row Undo Change Notification DBPROP_NOTIFYROWUNDOCHANGE
Row Undo Delete Notification DBPROP_NOTIFYROWUNDODELETE
Row Undo Insert Notification DBPROP_NOTIFYROWUNDOINSERT
Row Update Notification DBPROP_NOTIFYROWUPDATE
Rowset Fetch Position Change Notification DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE
Rowset Release Notification DBPROP_NOTIFYROWSETRELEASE
Scroll Backwards DBPROP_CANSCROLLBACKWARDS
Server Data on Insert DBPROP_SERVERDATAONINSERT
Server Cursor DBPROP_SERVERCURSOR
Skip Deleted Bookmarks DBPROP_BOOKMARKSKIP
Strong Row Identity DBPROP_STRONGIDENTITY
Updatability DBPROP_UPDATABILITY
Use Bookmarks DBPROP_BOOKMARKS

関連項目   Microsoft OLE DB Provider for SQL Server の実際の使用方法および機能に関する情報については、MDAC SDK の OLE DB Provider for SQL Server のマニュアルを参照してください。