可从任何 DB2® 副本、IBM® 数据服务器驱动程序副本、版本 9 或更高版本运行 db2swtch 命令。另外,在版本 9.5 或更高版本中,只能使用选项 -db2 和 -client。
先决条件:在同一台计算机上安装多个 DB2 副本(版本 9 或更高版本)或多个 IBM 数据库客户机接口副本(版本 9.5 或更高版本)。
DB2COPY1 是作为机器上第一个 DB2 产品安装版本的 DB2 副本的缺省名称。此相同名称是存储数据库管理器代码和用户数据的实例目录的一部分。
如果机器上还安装了其他 DB2 副本,那么它们的缺省名称将为 DB2COPY2 和 DB2COPY3 等等。
IBMDBCL1 是作为机器上第一个驱动程序安装版本的 IBM 数据服务器驱动程序包(DSDRIVER)的缺省名称。
如果机器上还安装了其他 DSDRIVER 产品,那么它们的缺省名称将为:IBMDBCL2 和 IBMDBCL3 等。
要使用缺省 DB2 和数据库客户机接口选择向导来更改缺省 DB2 副本:
此过程将当前缺省 DB2 副本切换为新的缺省 DB2 副本,并对注册表进行必要的更改。要访问并使用新的缺省 DB2 副本,在将 DAS 移至新的缺省 DB2 副本后,打开新的命令窗口。通过从"开始"菜单中使用原始缺省 DB2 副本的快捷方式,仍可以访问原始缺省 DB2 副本。
要使用命令行来更改缺省 DB2 副本,可使用 db2swtch 命令:
此过程除去当前缺省 DB2 副本的注册,然后将指定的 DB2 副本注册为缺省 DB2 副本。它还对注册表、环境变量、ODBC 和 CLI 驱动程序以及 .NET Data Provider(当更改也使 DB2 副本成为缺省 IBM 数据库客户机接口副本)、WMI 注册和各种其他对象进行必要的更改,并将 DAS 移至指定的缺省 DB2 副本。要访问并使用新的缺省 DB2 副本,打开新的命令窗口。
在版本 9.1 中,随着时间的推移,您可以安装其他版本 9.1 或更高版本的 DB2 副本。
但是,只有一个 DB2 副本是缺省 DB2 副本。如果未显式地引用,那么所请求的数据库操作将使用缺省 DB2 副本中的代码和数据。如果要使用其他 DB2 副本(例如,此示例中的 DB2COPY2 或 DB2COPY3)中的代码和数据,而不使用缺省 DB2 副本(DB2COPY1)中的代码和数据,那么必须显式地引用其他 DB2 副本的代码和数据。
在版本 9.5 中,当安装第一个 DB2 副本之后,它就成为缺省 DB2 副本和缺省 IBM 数据库客户机接口副本。
在版本 9.5 中,随着时间的推移,您可以安装其他版本 9.5 或更高版本的 DB2 副本。
但是,只有一个 DB2 副本是缺省 DB2 copy or IBM 数据服务器驱动程序副本。在这种情况下,在安装其他两个 DB2 副本之后,上述两个缺省副本仍然与初始 DB2 副本(DB2COPY1)相关联。
在版本 9.5 中,当您已经安装了多个 DB2 副本时,可以选择将一个 DB2 副本作为缺省 DB2 副本,而将另一个 DB2 副本作为缺省 IBM 数据库客户机接口副本。
如果不要求该代码与缺省 IBM 数据库客户机接口副本(DB2COPY2)相关联,那么需要客户机接口代码的应用程序或用户必须显式地引用来自其他两个 DB2 副本(DB2COPY1 与 DB2COPY3)之一的代码。如果未显式地引用,那么将使用缺省 IBM 数据库客户机接口副本中的客户机接口代码。
要使用缺省 DB2 和数据库客户机接口选择向导来更改缺省 IBM 数据库客户机接口副本:
此过程将当前缺省 IBM 数据库客户机接口副本切换为新的 IBM 数据服务器驱动程序副本,使其成为新的缺省 IBM 数据库客户机接口副本。该过程还对注册表进行必要的更改。在切换之后,缺省 ODBC 和 CLI 驱动程序与 .NET Data Provider 将指向新副本。也可以访问已追加副本名称的所有其他 ODBC 驱动程序。
要使用命令行来更改缺省 IBM 数据库客户机接口副本,您可以使用 db2swtch 命令:
此过程注销当前缺省 IBM 数据库客户机接口副本,然后将指定的副本注册为缺省 IBM 数据库客户机接口副本。
在没有任何其他 DB2 服务器产品(例如,企业服务器版或工作站服务器版)或其他 DSDRIVER 的情况下,此 DSDRIVER 是缺省 IBM 数据库客户机接口副本。缺省情况下,任何需要使用应用程序请求程序代码的数据库操作将访问来自缺省 IBM 数据库客户机接口副本的代码和数据。
随着时间的推移,您可以安装其他 IBM 数据服务器驱动程序副本中的 DSDRIVER。但是,只有一个 IBM 数据服务器驱动程序副本(或者此示例中未说明的 DB2 副本)是缺省 IBM 数据库客户机接口副本。
如果未显式地引用,那么应用程序请求将使用缺省 IBM 数据库客户机接口副本中的代码和数据。如果要使用其他 DSDRIVER(例如,此示例中的 IBMDBCL2 或 IBMDBCL3)中的代码,而不使用缺省 IBM 数据库客户机接口副本(IBMDBCL1)中的代码,那么必须显式地引用其他 DSDRIVER 中的代码和数据。
随着时间的推移,您可以安装多个 DSDRIVER。只有一个 IBM 数据库客户机接口副本是缺省副本。您有时可能会决定从一个副本切换到另一个副本,并将后一个副本设置为缺省 IBM 数据库客户机接口副本。
使用"切换缺省 DB2 副本和数据库客户机接口副本"命令(db2swtch),选择和设置新的缺省 IBM 数据库客户机接口副本。使用不带自变量的 db2swtch 来启动缺省 DB2 和 IBM 数据库客户机接口选择向导。
如果要更改上述两个缺省值之一或者两个都更改,请使用不带自变量的 db2swtch 命令(仅限于 Windows)来启动缺省 DB2 和 IBM 数据库客户机接口选择向导。该向导将在您选择新的缺省 DB2 时显示所有可能的候选者。另外,也可以使用带 -client 或 -db2 选项的 db2swtch 命令来实现切换。
在此方案中,当选择新的缺省 DB2 副本时,只有一个其他选择:DBCOPY2。
当选择新的缺省 IBM 数据库客户机接口副本时,在此方案中,共有三个选择:IBMDBCL2、DB2COPY1 和 DB2COPY2。(重新调用 DB2 副本具有所需的数据库客户机接口代码来声明缺省 IBM 数据库客户机接口副本。)