SQL Server Native Client資料來源屬性 (OLE DB)

適用於: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 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 提供者會實作資料來源屬性,如下所示。

屬性識別碼 描述
DBPROP_CURRENTCATALOG R/W:讀取/寫入 預設值:無

描述:DBPROP_CURRENTCATALOG的值會報告SQL Server Native Client OLE DB 提供者會話的目前資料庫。 設定屬性值的效果,與使用 Transact-SQL USE database 陳述式設定目前的資料庫相同。

自 SQL Server 2005 (9.x) 起,若您呼叫 sp_defaultdb,並以小寫指定資料庫名稱,即使資料庫最初的名稱為大小寫混合,DBPROP_CURRENTCATALOG 也會以小寫傳回名稱。 在舊版的 SQL Server 中,DBPROP_CURRENTCATALOG 都會傳回預期的混合大小寫。
DBPROP_MULTIPLECONNECTIONS R/W:讀取/寫入 預設值:VARIANT_FALSE

描述:如果連接執行的命令不會產生資料列集,或者產生的資料列集不是伺服器資料指標,而且您執行其他命令,當 DBPROP_MULTIPLECONNECTIONS 為 VARIANT_TRUE 時,將會建立一個新的連接來執行新命令。

如果DBPROP_MULTIPLECONNECTION VARIANT_FALSE或連線上使用交易,SQL Server Native Client OLE DB 提供者將不會建立另一個連線。 如果DBPROP_MULTIPLECONNECTIONS VARIANT_FALSE,SQL Server Native Client OLE DB 提供者會傳回DB_E_OBJECTOPEN,並在有作用中交易時傳回E_FAIL。 交易與鎖定會依連線由 SQL Server 管理。 如果產生另一個連接,個別連接上的命令不會共用鎖定。 為確保命令之間不會互相封鎖,保留另一個命令要求之資料列上的鎖定。 建立多個工作階段時也是如此。

每個工作階段都有一個個別的連接。

在提供者特定屬性集DBPROPSET_SQLSERVERDATASOURCE中,SQL Server Native Client OLE DB 提供者會定義下列其他資料來源屬性。

屬性識別碼 描述
SSPROP_ENABLEFASTLOAD R/W:讀取/寫入 預設值:VARIANT_FALSE

描述:若要從記憶體中啟用大量複製,SSPROP_ENABLEFASTLOAD 屬性應該設定為 VARIANT_TRUE。 在資料來源上設定此屬性之後,新建立的工作階段就會允許取用者存取 IRowsetFastLoad 介面。

如果屬性設定為 VARIANT_TRUE,IRowsetFastLoad 介面會要求 IID_IRowsetFastLoad 介面,或將 SSPROP_IRowsetFastLoad 設定為 VARIANT_TRUE,以便透過 IOpenRowset::OpenRowset 取得。
SSPROP_ENABLEBULKCOPY R/W:讀取/寫入 預設值:VARIANT_FALSE

描述:若要從檔案中啟用大量複製,SSPROP_ENABLEBULKCOPY 屬性應該設定為 VARIANT_TRUE。 在資料來源上設定此屬性之後,取用者對於 IBCPSession 介面的存取會在與 Sessions 相同的層級下取得。

SSPROP_IRowsetFastLoad 也必須設定為 VARIANT_TRUE。

另請參閱

資料來源物件 (OLE DB)