SQL Server Native Client Data Source プロパティ (OLE DB)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

重要

SQL Server Native Client (SNAC と略されることがよくあります) は、SQL Server 2022 (16.x) と SQL Server Management Studio 19 (SSMS) から削除されました。 SQL Server Native Client OLE DB プロバイダー (SQLNCLI または SQLNCLI11) とレガシ Microsoft OLE DB Provider for SQL Server (SQLOLEDB) はどちらも、新しい開発には推奨されません。 今後は、新しい Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server に切り替えてください。

SQL Server Native Client OLE DB プロバイダーは、次のようにデータ ソースのプロパティを実装します。

プロパティ ID 説明
DBPROP_CURRENTCATALOG R/W: 読み取り/書き込み<br></br>既定値 : なし

説明: DBPROP_CURRENTCATALOGの値は、SQL Server Native Client OLE DB プロバイダー セッションの現在のデータベースを報告します。 このプロパティ値を設定することは、Transact-SQL の USE <データベース> ステートメントを使用して現在のデータベースを設定するのと同じ効果があります。

SQL Server 2005 (9.x) 以降のバージョンでは、データベース名を小文字で指定して sp_defaultdb を呼び出すと、大文字と小文字が混在する名前を使用してデータベースが作成されている場合でも、DBPROP_CURRENTCATALOG では名前が小文字で返されます。 以前のバージョンの SQL Server では、大文字と小文字が混在する名前が DBPROP_CURRENTCATALOG によって返されます。
DBPROP_MULTIPLECONNECTIONS R/W : 読み取り/書き込み<br></br>既定値 : VARIANT_FALSE

説明 : 行セットを生成しないコマンドまたはサーバー カーソルではない行セットを生成するコマンドが接続で実行されているときに、ユーザーが別のコマンドを実行すると、DBPROP_MULTIPLECONNECTIONS が VARIANT_TRUE に設定されている場合は、新しいコマンドを実行するために新しい接続が作成されます。

DBPROP_MULTIPLECONNECTIONがVARIANT_FALSEされている場合、または接続でトランザクションがアクティブな場合、SQL Server Native Client OLE DB プロバイダーは別の接続を作成しません。 SQL Server Native Client OLE DB プロバイダーは、DBPROP_MULTIPLECONNECTIONSがVARIANT_FALSEされている場合はDB_E_OBJECTOPENを返し、アクティブなトランザクションがある場合はE_FAILを返します。 トランザクションとロックは、SQL Server によって接続ごとに管理されます。 2 番目の接続を作成する場合は、個別の接続のコマンドではロックは共有されません。 あるコマンドで別のコマンドがブロックされないようにするには、他のコマンドによって要求される行にロックを設定します。 このことは、複数のセッションを作成する場合にも適用されます。

各セッションには個別の接続があります。

プロバイダー固有のプロパティ セット DBPROPSET_SQLSERVERDATASOURCEでは、SQL Server Native Client OLE DB プロバイダーによって、次の追加データ ソース プロパティが定義されます。

プロパティ ID 説明
SSPROP_ENABLEFASTLOAD R/W : 読み取り/書き込み<br></br>既定値 : VARIANT_FALSE

説明 : メモリからの一括コピーを有効にするには、SSPROP_ENABLEFASTLOAD プロパティを VARIANT_TRUE に設定する必要があります。 このプロパティをデータ ソースで設定すると、新しく作成されたセッションを使用して、コンシューマーから IRowsetFastLoad インターフェイスにアクセスできます。

このプロパティを VARIANT_TRUE に設定している場合、IID_IRowsetFastLoad インターフェイスを要求するか、SSPROP_IRowsetFastLoad を VARIANT_TRUE に設定すると、IOpenRowset::OpenRowset を介して IRowsetFastLoad インターフェイスが使用可能になります。
SSPROP_ENABLEBULKCOPY R/W : 読み取り/書き込み<br></br>既定値 : VARIANT_FALSE

説明 : ファイルからの一括コピーを有効にするには、SSPROP_ENABLEBULKCOPY プロパティを VARIANT_TRUE に設定する必要があります。 データ ソースにこのプロパティを設定すると、コンシューマーから IBCPSession インターフェイスにセッションと同じレベルでアクセスできるようになります。

また、SSPROP_IRowsetFastLoad を VARIANT_TRUE に設定する必要があります。

参照

データ ソース オブジェクト (OLE DB)