使用 SQLBrowseConnect 连接

SQLBrowseConnect(例如 SQLDriverConnect)使用连接字符串。 但是,通过使用 SQLBrowseConnect,应用程序可以在运行时间构造完整的连接字符串。 这允许应用程序执行以下两种操作:

  • 生成自己的对话框以提示输入此信息,因此保留对其“外观”的控制。

  • 浏览系统以找到可由特定的驱动程序使用的数据源,这可能要执行若干步骤。 例如,用户可能要首先浏览网络以找到服务器,然后在选择某一服务器后,浏览该服务器以找到驱动程序可访问的数据库。

应用程序调用 SQLBrowseConnect 并传递一个连接字符串,称为浏览请求连接字符串,它会指定驱动程序或数据源。 驱动程序返回一个连接字符串,称为浏览结果连接字符串,它包含关键字、可能的值(如果关键字接受一组离散值)和用户友好名称。 应用程序通过用户友好名称来构建对话框,并提示用户输入值。 然后,它会通过这些值生成新的浏览请求连接字符串,并使用对 SQLBrowseConnect 的另一个调用将此字符串返回到驱动程序。

由于连接字符串可来回传递,因此当应用程序返回旧连接字符串时,驱动程序可以通过返回新连接字符串来提供多个级别的浏览。 例如,应用程序首次调用 SQLBrowseConnect 时,驱动程序可能会返回关键字来提示用户输入服务器名称。 当应用程序返回服务器名称时,驱动程序可能会返回关键字以提示用户输入数据库。 应用程序返回数据库名称后,浏览过程将完成。

每次 SQLBrowseConnect 返回新的浏览结果连接字符串时,它都会返回 SQL_NEED_DATA 作为其返回代码。 这会告知应用程序连接过程未完成。 在 SQLBrowseConnect 返回 SQL_SUCCESS 之前,连接处于“需要数据”状态,且不能用于其他目的,例如设置连接属性。 应用程序可以通过调用 SQLDisconnect 来终止连接浏览过程。

本部分包含以下主题。