DBPATH 重定向方法的工作原理

当应用程序没有在 CONNECT 语句中明确指定数据库服务器,以及 GBASEDBTSERVER 环境变量指定的数据库服务器不可用时,客户机将使用 DBPATH 环境变量来定位数据库(和数据库服务器)。

如果复制对中的一台数据库服务器不可用,那么使用该数据库服务器的应用程序将其 DBPATH 环境变量设置为复制对中的另一数据库服务器时,这些应用程序无需重新设置其 GBASEDBTSERVER 环境变量。它们的 GBASEDBTSERVER 环境变量必须始终包含其经常使用的数据库服务器的名称,并且它们的 DBPATH 环境变量必须始终包含对中备用数据库服务器的名称。

例如,如果应用程序通常使用名为 cliff_ol 的数据库服务器,并且在复制对中与 cliff_ol 成对的数据库服务器名为 beach_ol,那么那些应用程序的环境变量将如下所示:
GBASEDBTSERVER  cliff_ol
DBPATH          //beach_ol

因为当应用程序发出 CONNECT 语句时 DBPATH 环境变量是只读变量(如果需要),所以应用程序必须重新启动才能执行重定向。

应用程序可以包含测试连接是否已失败的代码,如果包含,那么尝试重新连接。如果应用程序有该代码,就无需重新启动。

您可以对该重定向方法使用 CONNECT TO 数据库语句。为使该方法可起作用,您不能使用任一以下语句:
  • CONNECT TO DEFAULT
  • CONNECT TO database@dbserver
  • CONNECT TO @dbserver

该限制的原因是如果 CONNECT 语句指定了数据库服务器,应用程序就不使用 DBPATH。有关 DBPATH 的更多信息,请参阅《GBase 8s SQL 指南:参考》。