使用 SQLDriverConnect 進行連線

SQLBrowseConnect 就像 SQLDriverConnect,會使用連接字串。 不過,透過使用 SQLBrowseConnect,應用程式可以在執行階段完成連線字串。 這可以讓應用程式執行兩個動作:

  • 建立自己的對話方塊來提示輸入此資訊,藉此保持對「外觀與風格」的控制。

  • 瀏覽系統中,特定驅動程式可使用的資料來源 (可能是透過數個步驟)。 例如,使用者介面可能會先瀏覽網路中的伺服器,然後在選擇伺服器之後,瀏覽伺服器中可由驅動程式存取的資料庫。

應用程式會呼叫 SQLBrowseConnect,並傳遞名為瀏覽要求連接字串的連接字串,以指定驅動程式或資料來源。 驅動程式會傳回名為瀏覽結果連接字串的連接字串,其中包含關鍵字、可能的值 (如果關鍵字接受一組離散值) 和使用者易記名稱。 應用程式會建置具有使用者易記名稱的對話方塊,並提示使用者輸入值。 然後,其會從這些值建置新的瀏覽要求連接字串,並使用另一個 SQLBrowseConnect 呼叫將其傳回至驅動程式。

因為連接字串會來回傳遞,所以當應用程式傳回舊連接字串時,驅動程式可以透過傳回新的連接字串提供數個層級的瀏覽。 例如,應用程式第一次呼叫 SQLBrowseConnect 時,驅動程式可能會傳回關鍵字來提示使用者輸入伺服器名稱。 當應用程式傳回伺服器名稱時,驅動程式可能會傳回關鍵字來提示使用者輸入資料庫。 瀏覽流程會在應用程式傳回資料庫名稱之後完成。

每次 SQLBrowseConnect 傳回新的瀏覽結果連接字串時,都會傳回 SQL_NEED_DATA 做為其傳回碼。 這會告訴應用程式連線流程尚未完成。 在 SQLBrowseConnect 傳回 SQL_SUCCESS 之前,連線會處於「需要資料」狀態,且無法用於其他用途,例如設定連線屬性。 應用程式可以藉由呼叫 SQLDisconnect 來終止連線瀏覽流程。

本節涵蓋下列主題。