Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Remote » 教程:创建 SQL Remote 系统

 

第 2 课:在统一数据库中授予 PUBLISH 和 REMOTE 权限

SQL Remote 系统中的每个数据库都需要发布者,发布者是具有 PUBLISH 权限的唯一用户。所有外发的 SQL Remote 消息(包括发布更新和接收确认)均由其发布者标识。SQL Remote 系统中的每个数据库都要发送接收确认。

 ♦ 为统一数据库创建发布者 (Interactive SQL)
  1. 如果目前尚未连接到统一数据库 (hq),则运行以下命令:

    dbisql -c "UID=DBA;PWD=sql;SERVER=server_hq;DBF=c:\tutorial\hq.db"
  2. 执行以下语句,创建具有 CONNECT 和 PUBLISH 权限的 hq_user 用户:

    CREATE USER hq_user IDENTIFIED BY hq_pwd;
    GRANT CONNECT TO hq_user IDENTIFIED BY hq_pwd;
    GRANT PUBLISH TO hq_user;
  3. 执行以下语句,检查数据库的发布用户 ID:

    SELECT CURRENT PUBLISHER;

要将消息发送给其它数据库的数据库(如统一数据库)必须指定要将消息发送给哪些远程数据库。要在统一数据库上指定这些远程数据库,必须将 REMOTE 权限授予给远程数据库的发布者。REMOTE 权限标识那些从当前数据库中接收消息的数据库。

 ♦ 授予远程权限
  • 执行以下语句,创建具有 CONNECT 和 REMOTE 权限的远程用户 field_user,其口令为 field_pwd:

    CREATE USER field_user IDENTIFIED BY field_pwd;
    GRANT CONNECT TO field_user IDENTIFIED BY field_pwd;
    GRANT REMOTE TO field_user 
    TYPE file 
    ADDRESS 'field';