SQLBrowseConnect による接続
SQLDriverConnect と同様に、SQLBrowseConnect は接続文字列を使用します。 ただし、SQLBrowseConnect を使用すると、アプリケーションは実行時に完全な接続文字列を構築できます。 この方法を使用すると、アプリケーションで次の 2 つのことを行えます。
この情報の入力を求める独自のダイアログ ボックスを構築することで、その「外観」の制御を維持します。
特定のドライバーが使用できるデータ ソースをシステムから参照できます。これは複数の手順になる場合があります。 たとえば、ユーザーは最初にネットワークを介してサーバーを参照して、サーバーを選択します。次に、そのサーバーを介して、ドライバーがアクセスできるデータベースを参照するといった手順です。
アプリケーションは SQLBrowseConnect を呼び出し、ドライバーまたはデータ ソースを指定する接続文字列 (参照要求接続文字列と呼ばれます) を渡します。 ドライバーは、キーワード、可能な値 (キーワードが個別の値のセットを受け入れる場合)、およびわかりやすい名前を含む接続文字列 (参照結果接続文字列と呼ばれます) を返します。 アプリケーションは、わかりやすい名前のダイアログ ボックスを作成し、ユーザーに値の入力を求めます。 次に、これらの値から新しい参照要求接続文字列をビルドし、SQLBrowseConnect を別の呼び出しでドライバーに返します。
接続文字列はやり取りされるため、ドライバーは、アプリケーションが古い接続文字列を返すときに新しい接続文字列を返すことによって、いくつかのレベルの参照を提供できます。 たとえば、アプリケーションが初めて SQLBrowseConnect を呼び出す場合、ドライバーはキーワードを返して、ユーザーにサーバー名の入力を求める場合があります。 アプリケーションがサーバー名を返すと、ドライバーはキーワードを返してユーザーにデータベースの入力を求める場合があります。 参照プロセスは、アプリケーションがデータベース名を返した後に完了します。
SQLBrowseConnect は、新しい参照結果接続文字列を返すたびに、戻りコードとしてSQL_NEED_DATAを返します。 これにより、接続プロセスが完了していないとアプリケーションに通知されます。 SQLBrowseConnect が SQL_SUCCESS を返すまで、接続はデータが必要な状態になり、接続属性の設定などの他の目的には使用できません。 アプリケーションは、SQLDisconnect を呼び出すことによって、接続参照プロセスを終了できます。
このセクションでは、次のトピックを扱います。