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 » 教程:使用将统一数据库用作消息服务器的 HTTP 消息系统设置复制系统

 

第 3 课:创建远程数据库

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

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

    dbinit 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

    如果目前尚未连接到远程数据库 (rem),则运行以下命令:

     dbisql -c "SERVER=rem;DBN=rem;UID=DBA;PWD=sql"
  3. 统一数据库使用 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=''; 
  4. 针对远程数据库 (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='localhost:8033';
    COMMIT;
  5. 验证远程数据库 (rem) 中的 employees 表在抽取后是否包含存在于统一数据库中的两行数据。执行以下语句,查看 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
  6. 与 Interactive SQL 断开连接。

  7. 前进至第 4 课:在统一数据库和远程数据库中添加和复制数据