共用方式為


快速順向資料指標 (ODBC)

連接至 SQL Server 的執行個體時,SQL Server Native Client ODBC 驅動程式會針對順向且唯讀的資料指標支援效能最佳化。快速順向資料指標是由驅動程式和伺服器以非常類似於預設結果集的方式在內部實作。除了具有高效能以外,快速順向資料指標還具有下列特性:

  • 不支援 SQLGetData。結果集資料行必須繫結至程式變數。

  • 偵測到資料指標的結尾時,伺服器就會自動關閉資料指標。雖然應用程式仍然必須呼叫 SQLCloseCursorSQLFreeStmt(SQL_CLOSE),但是驅動程式不需要將關閉要求傳送到伺服器。這樣可節省透過網路與伺服器之間的往返。

應用程式會使用驅動程式特有的陳述式屬性 SQL_SOPT_SS_CURSOR_OPTIONS 來要求快速順向資料指標。設定為 SQL_CO_FFO 時,就會啟用快速順向資料指標,但不啟用自動擷取。設定為 SQL_CO_FFO_AF 時,則會一併啟用自動擷取選項。如需有關自動擷取的詳細資訊,請參閱<使用自動擷取搭配 ODBC 資料指標>。

包含自動擷取的快速順向資料指標可用來透過與伺服器之間的一次往返,擷取小型結果集。在這些步驟中,n 是要傳回的資料列數目:

  1. 將 SQL_SOPT_SS_CURSOR_OPTIONS 設定為 SQL_CO_FFO_AF。

  2. 將 SQL_ATTR_ROW_ARRAY_SIZE 設定為 n + 1。

  3. 將結果資料行繫結至 n + 1 個元素的陣列 (如果實際上擷取了 n + 1 個資料列,可確保安全)。

  4. 使用 SQLExecDirectSQLExecute 來開啟資料指標。

  5. 如果傳回狀態是 SQL_SUCCESS,請呼叫 SQLFreeStmtSQLCloseCursor 來關閉資料指標。資料列的所有資料都將位於繫結的程式變數中。

透過這些步驟,SQLExecDirectSQLExecute 會在啟用自動擷取選項的情況下,傳送資料指標開啟要求。在收到來自用戶端的單一要求時,伺服器會:

  • 開啟資料指標。

  • 建立結果集並將資料列傳送至用戶端。

  • 由於資料列集大小設定為結果集的資料列數目加上 1,所以伺服器會偵測資料指標的結尾並關閉資料指標。