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 のマニュアルを参照してください。