程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server 2000分布式查詢:OLE DB連接

SQL Server 2000分布式查詢:OLE DB連接

編輯:關於SqlServer

概述和術語

在 MicrosoftSQL Server 2000 中,分布式查詢允許SQL Server用戶訪問基於SQL Server的服務器以外的數據(位於其他運行SQL Server的服務器或是具有OLE DB接口的其他數據源中)。OLE DB提供了統一的方式來訪問異類數據源中的列表數據。

在本文中,分布式查詢是指任何引用了一個或多個外部OLE DB數據源中表或行集的SELECT、INSERT、UPDATE或DELETE語句。

遠程表是指存儲於 OLE DB 數據源中並且不在執行查詢的SQL Server 所在服務器上的表。一個分布式查詢可以訪問一個或多個遠程表。

OLE DB提供程序類別

根據OLE DB提供程序在SQL Server的分布式查詢中的功能,我們將它們劃分為如下類別。根據定義,它們並非互相排斥;某種提供程序可能屬於一個或多個類別:

SQL 命令提供程序

索引提供程序

簡單表提供程序

非SQL 命令提供程序

SQL 命令提供程序

凡是以SQL標准語法(SQL Server 認可)支持 Command對象的提供程序,都屬於此類別。下面是 OLE DB 提供程序被SQL Server 視為SQL 命令提供程序的必要條件:

提供程序必須支持 Command 對象及其所有強制 OLE DB 接口:ICommand、ICommandText、IColumnsInfo、ICommandProperties 和 IAccessor。

提供程序支持的SQL 語法必須至少是SQL 子集。提供程序必須通過 DBPROP_SQLSUPPORT 屬性來報告語法。

SQL 命令提供程序的示例為:Microsoft OLE DB Provider forSQL Server 和 Microsoft OLE DB Provider for ODBC。

索引提供程序

索引提供程序支持並提供與OLE DB對應的索引,同時還允許基於索引對基本表執行查找。下面是 OLE DB 提供程序被SQL Server 視為索引提供程序的必要條件:

提供程序必須以 TABLES、COLUMNS 和 INDEXES 架構行集支持 IDBSchemaRowset 接口。

提供程序必須支持通過 IOpenRowset 打開索引中的行集(通過指定索引名和相應的基本表名稱)。

Index 對象必須支持其所有的強制接口:IRowset、IRowsetIndex、IAccessor、IColumnsInfo、IRowsetInfo 和 IConvertTypes。

對帶索引基本表打開的行集(通過使用 IOpenRowset)必須支持 IRowsetLocate 接口,以便根據書簽在行上定位。

如果一個OLE DB提供程序滿足以上條件,用戶可以設置提供程序選項 Index As Access Path,以允許SQL Server 使用提供程序的索引來執行查詢。默認情況下,除非該選項已被設置,否則SQL Server 不會嘗試使用提供程序的索引。

注意:SQL Server支持多個影響SQL Server訪問OLE DB提供程序的方法的選項。可以使用SQL Server 企業管理器中的“鏈接服務器屬性”對話框來設置這些選項。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved