SQL Server Native Client 中的中繼資料探索

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

重要

SQL Server Native Client (通常縮寫為 SNAC) 已從 SQL Server 2022 (16.x) 和 SQL Server Management Studio 19 (SSMS) 中移除。 不建議使用 SQL Server Native Client (SQLNCLI 或 SQLNCLI11) 和舊版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 開發新的應用程式。 往後請改用新的 Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server 或最新的 Microsoft ODBC Driver for SQL Server。 如需 SQL Server 資料庫引擎元件隨附的 SQLNCLI(版本 2012 到 2019),請參閱此 支援生命週期例外狀況

SQL Server 2012 (11.x) 中的中繼資料探索改進可讓 SQL Server Native Client 應用程式確保從查詢執行傳回的資料行或參數中繼資料與您在執行查詢之前指定的元資料格式相同或相容。 如果查詢執行之後傳回的中繼資料與您在查詢執行之前指定的中繼資料格式不相容,您就會收到錯誤。

在 bcp 和 ODBC 函式和 IBCPSession 和 IBCPSession2 介面中,您現在可以指定延遲讀取(延遲中繼資料探索),以避免查詢輸出作業的中繼資料探索。 這樣做可改善效能並排除中繼資料探索失敗。

如果您在 SQL Server 2012 (11.x) 中使用 SQL Server Native Client 開發應用程式,但連線到 SQL Server 2012 (11.x) 之前的伺服器版本,中繼資料探索功能將會對應至伺服器版本。

備註

SQL Server 2012 (11.x) 中已增強下列 bcp 函式,以提供改良的中繼資料探索:

使用 bcp_setbulkmode 指定元資料格式 時,您也會看到效能改善。

bcp_control 有新的 eOption 來控制bcp_readfmt的行為: BCPDELAYREADFMT

SQL Server 2012 (11.x) 中已增強下列 ODBC 函式,以提供改良的中繼資料探索:

SQL Server 2012 (11.x) 已增強下列 OLE DB 成員函數,以便提供已改善的中繼資料探索:

  • IColumnsInfo::GetColumnInfo

  • IColumnsRowset::GetColumnsRowset

  • ICommandWithParameters::GetParameterInfo (如需詳細資訊,請參閱 ICommandWithParameters)

當您使用 IBCPSession::BCPSetBulkMode 來指定中繼資料格式時,也會看見效能改進

由於在 SQL Server 2012 中新增兩個預存程式(11.x):

  • sp_describe_first_result_set

  • sp_describe_undeclared_parameters

另請參閱

SQL Server Native Client 功能