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

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Remote » 教程:设置复制系统,该系统使用 HTTP 消息系统并将统一数据库用作消息服务器(通过中继服务器)

 

第 4 课:创建远程数据库

抽取远程数据库,然后将远程数据库的 FILE 消息系统替换为 HTTP 消息系统。

前提条件

您必须具有 SYS_REPLICATION_ADMIN_ROLE 系统角色。

 任务
  1. c:\tutorial\rem 目录运行以下命令,创建远程数据库 (rem):

    dbinit -dba DBA,sql rem.db
  2. 在本课中,将使用 dbxtract 创建远程数据库。运行以下命令从统一数据库抽取 rem 用户的数据库,并使远程数据库的数据库服务器在抽取之后保持运行状态:

    dbxtract -xx -ac "SERVER=rem;DBN=rem;DBF=c:\tutorial\rem\rem.db;UID=DBA;PWD=sql;autostop=no" -c "SERVER=cons;DBN=cons;UID=DBA;PWD=sql" rem
  3. 如果目前尚未从 Interactive SQL 连接到远程数据库 (rem),则运行以下命令:

    dbisql -c "SERVER=rem;DBN=rem;UID=DBA;PWD=sql"
  4. 统一数据库使用 FILE 消息系统,因此当 dbxtract 运行时,它将创建 SQL Remote 定义,此定义假定 rem 远程数据库也将使用 FILE 消息系统。要配置远程数据库以使用 HTTP 消息系统,可为远程数据库 (rem) 执行以下语句,以删除此远程数据库的 FILE 消息系统:

    CREATE REMOTE TYPE "FILE" ADDRESS '';
    SET REMOTE FILE OPTION public.directory='';
    SET REMOTE FILE OPTION public.debug=''; 
  5. 针对远程数据库 (rem) 执行以下语句,以为此远程数据库配置 HTTP 消息系统:

    CREATE REMOTE TYPE "HTTP" ADDRESS 'rem';
    GRANT CONSOLIDATE TO "cons" TYPE "HTTP" ADDRESS 'cons';
    SET REMOTE HTTP OPTION public.user_name='rem';
    SET REMOTE HTTP OPTION public.password='rem';
    SET REMOTE HTTP OPTION public.debug='yes';
    SET REMOTE HTTP OPTION public.https='no';
    SET REMOTE HTTP OPTION public.url='machine_iis:80/rs/client/rs_client.dll/srhttp_tutorial_farm';
    COMMIT;
  6. 验证远程数据库 (rem) 在抽取后是否包含存在于统一数据库中的两行数据。执行以下语句,查看 employees 表的内容:

    SELECT * FROM employees;

    查询将返回 employees 表中的以下数据,不过 hire_date 列将包含插入行的时间,而非在以下表中所看到的数据:

    employee_id first_name last_name hire_date
    1 Kelly Meloy 2011-03-25 08:27:56.310
    2 Melisa Boysen 2011-03-25 08:27:56.310
  7. 与 Interactive SQL 断开连接。

结果

已抽取远程数据库,并且远程数据库的 FILE 消息系统已替换为 HTTP 消息系统。