Lesson 4: Creating the remote database

In this lesson, you extract the remote database, and then replace the FILE message system at the remote database with the HTTP message system.

 Create the remote database
  1. From the c:\tutorial\rem directory, run the following command to create the remote database (rem):

    dbinit rem.db
  2. In this lesson, you use dbxtract to create the remote database. Run the following command to extract the database for the rem user from the consolidated database, and leave the database server for the remote database running after the extraction:

    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. If you are not currently connected to the remote database (rem) from Interactive SQL, run the following command:

    dbisql -c "SERVER=rem;DBN=rem;UID=DBA;PWD=sql"
  4. The consolidated database uses the FILE message system, so when dbxtract runs, it will have created SQL Remote definitions assuming that the rem remote database is also using the FILE message system. To configure the remote database to use the HTTP message system, execute the following statements for the remote database (rem) to remove the FILE message system for this remote database:

    CREATE REMOTE TYPE "FILE" ADDRESS '';
    SET REMOTE FILE OPTION public.directory='';
    SET REMOTE FILE OPTION public.debug=''; 
  5. Execute the following statements on the remote database (rem) to configure the HTTP message system for this remote database:

    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. Verify that the remote database (rem) contains the two rows of data that existed in the consolidated database after the extraction. Execute the following statement to view the contents of the employees table:

    SELECT * FROM employees;

    The query returns the following data from the employees table, although the hire_date column contains the time you inserted the row, and not the data you see in the following table:

    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. Disconnect from Interactive SQL.

  8. Proceed to Lesson 5: Adding and replicating data in the consolidated and remote databases.