管理 SQL Remote for Adaptive Server Anywhere
统一数据库的发布者可以使用直通模式在远程站点直接进行干预,该模式使标准的 SQL 语句能够传递到远程站点。缺省情况下,直通模式语句也会在本地(统一)数据库中执行,但一个可选的关键字可以禁止这些语句在本地执行。
| 注意 始终应在已预订远程数据库的情况下在一个试验数据库上测试您的直通操作。千万不要对生产数据库运行未经测试的直通脚本。 |
直通模式是通过 PASSTHROUGH 语句来启动和停止的。对在起始 PASSTHROUGH 语句和 PASSTHROUGH STOP 语句(它将终止直通模式)之间输入的任何语句进行检查,以查找有无语法错误;然后在当前数据库中执行这些输入的语句,而且还会传递给指定的预订者并在该预订者数据库中执行。我们可以将起始和结束直通语句之间的语句称为直通会话。
以下语句开始一个直通会话,该会话将把语句传递给一个由两个指定预订者组成的列表,而不在本地数据库中执行:
PASSTHROUGH ONLY FOR userid_1, userid_2;
以下语句将启动一个直通会话,该会话将语句传递给指定发布的所有预订者:
PASSTHROUGH ONLY FOR SUBSCRIPTION TO [owner].pubname [ ( string ) ] ;
直通模式是累积的。在下面的示例中,statement_1 被发送给 user_1,statement_2 被发送给 user_1 和 user_2。
PASSTHROUGH ONLY FOR user_1 ; statement_1 ; PASSTHROUGH ONLY FOR user_2 ; statement_2 ;
下面的语句终止直通会话:
PASSTHROUGH STOP ;
PASSTHROUGH STOP 将对所有远程用户终止直通模式。
直通语句会按照它们在日志中的记录顺序与常规的复制消息一起依次复制。
直通通常用于发送数据定义语言语句。在这种情况下,所复制的 DML 语句在直通之前使用 before 模式,在直通之后使用 after 模式。
始终应在已预订远程数据库的情况下在一个试验数据库上测试您的直通操作。千万不要对生产数据库运行未经测试的直通脚本。
始终应该用所有者名称限定对象名称。PASSTHROUGH 语句不会在不同的远程数据库中通过相同的用户 ID 来执行。因此,可能无法正确地解析不含所有者名称限定符的对象名称。
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。