Connection Information

To perform the requested action, WordPress needs to access your web server. Please enter your FTP credentials to proceed. If you do not remember your credentials, you should contact your web host.

Connection Type

Table events – PB Docs 2022 – PowerBuilder Library

Table events – PB Docs 2022

Table events

Many of the connection events that occur between the
begin_synchronization and end_synchronization events, such as
begin_download and end_upload, also have table equivalents. These and
other overall table events might be used for tasks such as creating an
intermediate table to hold changes or printing information to a log
file.

You can also script table events that apply to each row in the
table. For row-level events, the order of the columns in your scripts
must match the order in which they appear in the CREATE TABLE statement
in the remote database, and the column names in the scripts must refer
to the column names in the consolidated database.

Generating default scripts

Although there are several row-level events, most tables need
scripts for three upload events (for INSERT, UPDATE, and DELETE) and one
download event. To speed up the task of creating these four scripts for
every table, you can generate scripts for them automatically by running
the — create a synchronization model — task from the MobiLink plug-in
in SQL Central.

For information on the MobiLink plug-in, see the online MobiLink
Getting Started book.

The MobiLink plug-in allows you to add more functionality to
default scripts than default scripts generated in earlier versions of
MobiLink. However, if you are using ASA 8 or ASA 9 instead of SQL
Anywhere 10, 11, 12, 16, or 17, you can still generate default
synchronization scripts by starting the MobiLink synchronization server
with the -za switch and setting the SendColumnNames extended option for
dbmlsync.

The following procedure describes how to generate ASA 8 or 9
synchronizations scripts from the PowerBuilder UI.

To generate ASA 8 or 9 synchronization scripts automatically
from PowerBuilder:

  1. Expand the ODBC Utilities folder in the Database painter and
    double-click the MobiLink Synchronization Server item.

    The MobiLink Synchronize Server Options dialog box
    displays.

  2. Select Adaptive Server Anywhere 8 or 9 from the MobiLink
    Version drop-down list.

    You enable the Automatic Script Generation check box.

  3. Select the Automatic Script Generation check box in the
    MobiLink Synchronize Server Options dialog box and click OK to start
    the server.

    You can open this dialog box from the Utilities folder in the
    Database painter or the Database Profiles dialog box.

  4. In your application, enter SendColumnNames=ON in the Extended
    text box on the Settings page of the w_appname_sync_options
    window.

    You must have at least one publication, user, and subscription
    defined in the remote database. If you have more than one
    publication or user, you must use the -n and/or -u switches to
    specify which subscription you want to work with.

    If there are existing scripts in the consolidated database,
    MobiLink does nothing. If there are no existing scripts, MobiLink
    generates them for all tables specified in the publication. The
    scripts control the upload and download of data to and from your
    client and consolidated databases.

    If the column names on the remote and consolidated database
    differ, the generated scripts must be modified to match the names on
    the consolidated database.

You can also generate ASA 8 or 9 synchronization scripts from a
command prompt. Start the server using the -za switch, then run dbmlsync
and set the SendColumnNames extended option to on. For example:

Generated scripts

The following table shows sample default scripts generated by the
MobiLink plug-in in SQL Central. The scripts are generated for a table
named emp with the columns emp_id, emp_name, and dept_id. The primary
key is emp_id. The generated download scripts use a timestamp based
download.

Script name

Script

upload_insert

INSERT INTO “GROUP1″.”emp” ( “emp_id”, “emp_name”,
“dept_id” )

VALUES ( {ml r.”emp_id”}, {ml
r.”emp_name”}, {ml r.”dept_id”} )

upload_update

UPDATE “GROUP1″.”emp” SET “emp_name”
=

{ml r.”emp_name”}, “dept_id” =

{ml
r.”dept_id”}

WHERE “emp_id” = {ml
r.”emp_id”}

upload_delete

DELETE FROM “GROUP1″.”emp”

WHERE
“emp_id” = {ml r.”emp_id”}

download_cursor

SELECT “GROUP1″.”emp”.”emp_id”,
“GROUP1″.”emp”.”emp_name”,
“GROUP1″.”emp”.”dept_id”

FROM
“GROUP1″.”emp”

WHERE “GROUP1″.”emp”.”last_modified”
>= {ml s.last_table_download}

download_delete_cursor

SELECT “emp_del”.”emp_id

FROM
“emp_del”

WHERE “emp_del”.”last_modified” >= {ml
s.last_table_download}

The scripts that you generate with the MobiLink plug-in constitute
a synchronization model. After you create a synchronization model, you
must use the — Deploy the synchronization model — task of the plug-in
to deploy the scripts to consolidated and remote databases or to SQL
files.

The following table shows the scripts that are generated for the
same table using the -za command switch for the ASA 9 MobiLink
synchronization server. The scripts generated for downloading data
perform “snapshot” synchronization. A complete image of the table is
downloaded to the remote database. Typically you need to edit these
scripts to limit the data transferred.

For more information, see Limiting
data downloads
.

Script name

Script

upload_insert

INSERT INTO emp (emp_id, emp_name,
dept_id)

VALUES (?,?,?)

upload_update

UPDATE emp SET emp_name = ?, dept_id =
?

WHERE emp_id=?

upload_delete

DELETE FROM emp WHERE emp_id=?

download_cursor

SELECT emp_id, emp_name, dept_id FROM
emp

Before modifying any scripts, you should test the synchronization
process to make sure that the generated scripts behave as expected.
Performing a test after each modification will help you narrow down
errors.


Document get from Powerbuilder help
Thank you for watching.
Was this article helpful?
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x