创建 rdoEnvironment 对象

在很多情况下,应用程序不需要创建另外的 rdoEnvironment 对象,因为缺省的 rdoEnvironments(0) 对绝大多数的操作来说都足够了。但是,如果应用程序希望支持多个事务作用域,或者需要区分不同的用户名及密码上下文,那么必须用 rdoCreateEnvironment 方法创建新的、具有指定用户名和密码值的 rdoEnvironment 对象。该方法只接受不重复的名称、用户名及密码。如果选择的名称与 rdoEnvironments 集合中已存在的成员名称相同的话,将会导致一个可以捕获的错误。

在 RemoteData 控件初始化或第一次在代码中引用 RDO 对象时,自动创建缺省的 rdoEnvironments(0)。rdoEnvironments(0) 的 Name 属性是 "Default_Environment"。rdoEnvironments(0) 的用户名和密码均为零长度字符串 ("")。

如果提供了唯一的名称,新创建的 rdoEnvironment 对象会自动追加到 rdoEnvironments 集合中。也可以使用零长度字符串作为 rdoCreateEnvironment 方法的 name 参数。在这种情况下,新的 rdoEnvironment 不会被追加到 rdoEnvironments 集合。

缓存的登录信息

如果在 OpenConnection 方法的 connect 参数或 RemoteData 控件的 Connect 属性中没有提供用户名及密码信息的话,rdoEnvironment 的用户名和密码信息将被用于建立连接。

例如,缺省的用户名 (Fred) 和密码 (Blond) 可以用于在 En environment 中建立连接:

Dim En As rdoEnvironment
Set En = rdoCreateEnvironment("", "Fred", "Blond")

一个 rdoEnvironment 对象逻辑上对应于一个 ODBC 环境。通过引用该对象的 hEnv 属性,可以用 ODBC API 函数来访问 rdoEnvironment 对象。但是,因为 ODBC 只允许每个应用程序对应一个环境句柄,所以 ODBC 环境句柄的存活期在 rdoEngine 的存活期之内。