SQL Server Native Client 中的元數據探索
適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
重要
SQL Server Native Client (SNAC) 未隨附:
- SQL Server 2022 (16.x) 及更新版本
- SQL Server Management Studio 19 和更新版本
不建議使用 SQL Server Native Client (SQLNCLI 或 SQLNCLI11) 和舊版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 進行新的應用程式開發。
針對新專案,請使用下列其中一個驅動程式:
針對 SQL Server 資料庫引擎 (2012 到 2019 版) 的隨附元件 SQLNCLI,請參閱支援生命週期例外狀況。
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