明确的连接语句

使用CONNECT语句可在所有 Db2 客户端上实现应用程序的可移植性,并要求应用程序管理连接。

通过CONNECT语句,应用程序可以明确地连接到每个服务器。 您必须将要在服务器上执行的 SQL 语句绑定到驻留在该服务器上的程序包。

应用程序根据CONNECT语句中的位置名称连接到每个服务器。 您可以明确指定一个位置名称,也可以在宿主变量中指定一个位置名称。 发出CONNECT语句会更改特殊寄存器CURRENT SERVER,以显示新服务器的位置。

示例

开始通用编程接口信息。

假设一个应用程序包含一个程序循环,用于读取位置名称、连接到该位置并执行INSERT语句。 应用程序将新的位置名称插入到宿主变量 LOCATION_NAME 中,并执行以下语句:

EXEC SQL
   CONNECT TO :LOCATION_NAME;
EXEC SQL
   INSERT INTO IDP101.PROJ VALUES (:PROJNO, :PROJNAME, :DEPTNO, 
   :RESPEMP, :MAJPROJ);

宿主变量与PROJ表的声明相匹配。

通用编程接口信息结束。

Db2 保证分布式事务中数据的一致性。 为了确保所有地点的数据一致,应用程序只有在程序循环对所有地点执行后才会提交工作。 要么每个位置都执行插入操作,要么如果某个位置因故障无法插入,则所有其他位置都会回滚插入操作。