メタデータの検出

適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

OLE DB ドライバーのダウンロード

SQL Server 2012 (11.x) ではメタデータ検出機能が強化されているため、OLE DB Driver for SQL Server アプリケーションでは、クエリの実行によって返された列またはパラメーター メタデータがクエリの実行前に指定したメタデータ形式と同じであるか、その形式と互換性があることを確認できます。 クエリの実行後に返されたメタデータにクエリの実行前に指定したメタデータ形式との互換性がない場合は、エラーが発生します。

bcp 関数と IBCPSession および IBCPSession2 インターフェイスでは、遅延読み取り (遅延メタデータ検出) を指定して、クエリ出力操作でメタデータ検出を回避できます。 その結果、パフォーマンスが向上し、メタデータ検出のエラーを回避できます。

OLE DB Driver for SQL Server を使用してアプリケーションを開発し、SQL Server 2012 (11.x) より前のバージョンのサーバーに接続する場合、メタデータ検出機能はそのバージョンのサーバーに対応したものとなります。

解説

SQL Server 2012 (11.x) では次の OLE DB メンバー関数が機能強化され、メタデータ検出機能が向上しています。

  • IColumnsInfo::GetColumnInfo

  • IColumnsRowset::GetColumnsRowset

  • ICommandWithParameters::GetParameterInfo (詳細は「ICommandWithParameters」を参照)

IBCPSession::BCPSetBulkMode を使用してメタデータ形式を指定したときのパフォーマンスも向上しています。

OLE DB Driver for SQL Server でのメタデータ検出機能の強化は、SQL Server 2012 (11.x) への次の 2 つのストアド プロシージャの追加により実現されました。

  • sp_describe_first_result_set

  • sp_describe_undeclared_parameters

参照

OLE DB Driver for SQL Server の機能