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 (中文) » MobiLink - 客户端管理 » 用于 MobiLink 的 SQL Anywhere 客户端 » 脚本式上载 » 教程:使用脚本式上载

 

第 1 课:创建统一数据库

此教程说明如何设置提供冲突检测的脚本式上载。此教程创建脚本式上载所需的统一数据库和远程数据库、存储过程、发布和预订。

前提条件

本课假定您拥有在本教程(教程:使用脚本式上载)开头的“特权”部分中列出的角色和特权。

上下文和注释

此教程会指定文件名并假设这些文件位于当前目录中,即 scriptedupload。在实际的应用程序中,应指定文件的完整路径。

所提供的教程既可以只用于阅读,也可以通过剪切和粘贴文本来运行其中的示例。

 任务
  1. 运行以下命令创建存储教程文件的目录,并切换到该目录。

    md c:\scriptedupload
    cd c:\scriptedupload
  2. 运行以下命令创建统一数据库:

    dbinit -dba DBA,sql consol.db
  3. 下一步,运行以下命令定义统一数据库的 ODBC 数据源:

    dbdsn -w dsn_consol -y -c "UID=DBA;PWD=sql;DBF=consol.db;SERVER=consol"
  4. 要将数据库用作统一数据库,必须运行一个安装脚本,此脚本添加 MobiLink 使用的系统表、视图和存储过程。以下命令将 consol.db 设置为统一数据库:

    dbisql -c "DSN=dsn_consol" "%SQLANY16%\MobiLink\setup\syncsa.sql"
  5. 要打开 Interactive SQL 并使用 dsn_consol DSN 连接到 consol.db,请运行以下命令:

    dbisql -c "DSN=dsn_consol"
  6. 运行下面的 SQL 语句。这些语句在统一数据库上创建 employee 表,向该表中插入值,然后创建所需的同步脚本。



    CREATE TABLE employee (
       id      unsigned integer primary key,
       name    varchar( 256),
       salary  numeric( 9, 2 )
    );
    
    INSERT INTO employee VALUES( 100, 'smith', 225000 );
    COMMIT;
    
    CALL ml_add_table_script( 'default', 'employee', 'upload_insert',
           'INSERT INTO employee ( id, name, salary ) VALUES ( {ml r.id}, {ml r.name}, {ml r.salary} )' );
    
    CALL ml_add_table_script( 'default', 'employee', 'upload_update',
           'UPDATE employee SET name = {ml r.name}, salary = {ml r.salary} WHERE id = {ml r.id}' );
    
    CALL ml_add_table_script( 'default', 'employee', 'upload_delete',
           'DELETE FROM employee WHERE id = {ml r.id}' );
    
    CALL ml_add_table_script( 'default', 'employee', 'download_cursor',
           'SELECT * from employee' );

    执行此 SQL 后,使 Interactive SQL 保持运行状态并连接到统一数据库,因为随着课程的深入您将对此数据库运行更多的 SQL。

结果

统一数据库创建完成并设置为与 MobiLink 结合使用。

下一个

前进至第 2 课:创建远程数据库