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

SQL Anywhere 11.0.1 (中文) » MobiLink - 入门 » MobiLink 教程 » 教程:将 MobiLink 用于 Oracle 10g 统一数据库

 

第 6 课:启动服务器和客户端

在本课中,您将启动 MobiLink 服务器和远程数据库。

在前几课中,您修改了下载游标脚本以下载有关一个销售人员的信息。在本课中,您通过将远程 ID 设置为销售人员标识符来指定销售人员。

启动 MobiLink 服务器

缺省情况下,MobiLink 在上载和下载时使用快照/READ COMMITTED 隔离级别。为使 MobiLink 服务器最有效地使用快照隔离,MobiLink 服务器使用的 Oracle 帐户必须拥有 V_$TRANSACTION Oracle 系统视图的访问权限。如果未授予访问权限,将会发出警告,而且下载时可能会丢失行。

♦  授予 OE 用户访问权限
  1. 使用 Oracle SQL Plus 应用程序以具有 SYSDBA 权限的 SYS 用户身份进行连接。在命令提示符处,运行以下命令:

    sqlplus SYS/your password for sys as SYSDBA
  2. 要授予 V_$TRANSACTION Oracle 系统视图的访问权限,运行以下命令:

    GRANT SELECT ON SYS.V_$TRANSACTION TO OE;
  3. 要向 V_$SESSION Oracle 系统视图授予访问权限,请运行以下命令:

    GRANT SELECT ON SYS.V_$SESSION TO OE;
♦  启动 MobiLink 服务器
  1. 在命令提示符处,导航到您创建同步模型的目录。(此为您在 [创建同步模型向导] 的第一步中选择的根目录。)

    如果您使用建议的目录名称,则以下目录应位于根目录中:sync_oracle\mlsrv

  2. 从 mlsrv 目录运行以下命令:

    sync_oracle_mlsrv.bat "DSN=oracle_cons;UID=OE;PWD=sql;"
    • sync_oracle_mlsrv.bat    用于启动 MobiLink 服务器所创建的命令文件。

    • DSN   ODBC 数据源名称。

    • UID   用于连接到统一数据库的用户名。

    • PWD   用于连接到统一数据库的口令。

    此命令成功运行后,在 [MobiLink 服务器消息] 窗口中将显示消息 [MobiLink 服务器已启动]。

    如果 MobiLink 服务器启动失败,请检查统一数据库的连接信息。

♦  启动远程数据库
  1. 在命令提示符处,浏览到 [部署同步模型向导] 创建的远程数据库所在的文件夹。

    如果您使用建议的目录名称,则以下目录应位于根目录中:sync_oracle\remote

  2. 使用以下命令启动远程 SQL Anywhere 数据库:

    dbeng11 -n remote_eng sync_oracle_remote.db -n remote_db
    • dbeng11   用于启动 SQL Anywhere 数据库的数据库服务器。

    • remote_eng   数据库服务器名称。

    • sync_oracle_remote.db   在 remote_eng 上启动的数据库文件。

    • remote_db   remote_eng 上的数据库名称。

上述命令成功运行后,名为 remote_eng 的 SQL Anywhere 数据库服务器将启动,并加载名为 remote_db 的数据库。

设置远程 ID

在远程模式中,每个远程数据库代表一个销售人员。您编写的同步脚本包含了指示 MobiLink 服务器根据远程数据库的远程 ID 下载数据子集的逻辑。必须将数据库的远程 ID 设置为有效的销售人员标识符值。

在第一次同步之前完成此步骤非常重要,因为当远程设备第一次同步时,将下载与所选择的销售人员相关的所有信息。

♦  将远程 ID 设置为有效的销售人员标识符
  1. 选择一个有效的销售人员标识符:

    1. 使用 Oracle SQL Plus 应用程序以具有 SYSDBA 权限的 SYS 用户身份进行连接。在命令提示符处,运行以下命令:

      sqlplus SYS/your password for sys as SYSDBA
    2. 要查看 ORDERS 表中有效销售人员标识符的列表,请执行以下语句:

      SELECT COUNT( SALES_REP_ID ), SALES_REP_ID
      FROM OE.ORDERS GROUP BY SALES_REP_ID;

      在本示例中,远程数据库代表 SALES_REP_ID 为 154 的销售人员。

    3. 要退出 Oracle,运行以下命令:

      exit
  2. 要将数据库的远程 ID 设置为值 154,运行以下命令:

    dbisql 
    -c "ENG=remote_eng;DBN=remote_db;UID=DBA;PWD=sql"
    "SET OPTION PUBLIC.ml_remote_id='154'"
    • dbisql   用于对 SQL Anywhere 数据库执行 SQL 命令的应用程序。

    • ENG   将数据库服务器名指定为 remote_eng。

    • DBN   将数据库名指定为 remote_db。

    • UID   用于连接到远程数据库的用户名。

    • PWD   用于连接到远程数据库的口令。

    • SET OPTION PUBLIC.ml_remote_id='154'    用于将远程 ID 的值设置为 154 的 SQL 命令。

进一步阅读