MobiLink 服务器支持 MySQL Community 和 Enterprise 服务器 5.1.3 或更高版本。
运行安装脚本之前,您应了解以下要求:
运行安装脚本的数据库用户预期为同步过程中将更新 MobiLink 系统表的同一用户。必须使用此用户启动 MobiLink 服务器和配置 MobiLink 应用程序。 请参见所需特权。
MobiLink 服务器用于连接统一数据库的 RDBMS 用户必须能够使用 MobiLink 系统表、过程等,但不能使用任何限定符(例如,SELECT * from ml_user)。 请参见MobiLink 服务器系统表。
MobiLink 服务器要求缺省存储引擎遵从 ACID。如果缺省存储引擎不遵从 ACID,则应确保使用遵从 ACID 的存储引擎(如 InnoDB 和 Falcon)来创建所有 MobiLink 服务器表。否则可能导致数据不一致。
如有必要,在对 MySQL 数据库应用文件之前编辑 syncmys.sql 脚本文件,将以下两行添加到 delimiter // 行之后,其中 engine_name 是 ACID 兼容存储引擎。
set storage_engine = [engine_name] // |
要设置 MySQL 用作 MobiLink 统一数据库,必须运行设置过程,此过程将添加 MobiLink 同步所需的 MobiLink 系统表、存储过程、触发器和视图。
前提条件
您的 MySQL 用户 ID 必须有权创建表、过程、功能、视图和触发器。
上下文和注释
您也可以使用 Sybase Central 的 MobiLink 16 插件将 MySQL 设置为统一数据库。
使用 MySQL 命令行工具或 MySQL Query Browser,运行 syncmys.sql 安装脚本,它位于 %SQLANY16%\MobiLink\Setup 中。
结果
MySQL 数据库可以用作 MobiLink 统一数据库。
要设置 MySQL 用作 MobiLink 统一数据库,必须运行设置过程,此过程将添加 MobiLink 同步所需的 MobiLink 系统表、存储过程、触发器和视图。
前提条件
您的 MySQL 用户 ID 必须有权创建表、过程、功能、视图和触发器。
上下文和注释
您也可以使用 syncmys.sql 安装脚本将 MySQL 设置为统一数据库。
在 Sybase Central 的 MobiLink 16 插件中,从 [视图] 菜单选择 [文件夹]。
打开 MobiLink 项目并展开 [统一数据库]。
右击数据库名,然后单击 [检查 MobiLink 系统设置]。如果需要对您的数据库进行设置,系统将提示您继续。
要使用现有的 MobiLink 系统设置,则 default_schema 应该为 MobiLink 系统设置的模式。
结果
MySQL 数据库可以用作 MobiLink 统一数据库。
必须使用 MySQL web 站点所提供的 ODBC 驱动程序为 MySQL 统一数据库设置 ODBC DSN。MobiLink 服务器支持 MySQL ODBC 驱动程序 5.1.3 或更高版本。请参见:
要指定 Unix 中的 ODBC 配置文件,执行以下操作之一:
数据类型映射 列的类型必须在统一数据库和远程数据库之间正确映射。 有关详细信息,请参见MySQL 数据映射。
存储过程 在存储过程调用中不能使用 INOUT 或 OUT 参数。需要这些参数的过程必须作为返回 OUT 值的函数实现。
需要 INOUT 参数的服务器事件,如 authenticate_user 和 modify_user,必须作为函数实现并且使用 SELECT 语句运行,而不是 CALL 语句。
命名参数 不支持用户定义的命名参数。
游标脚本 事件 upload_fetch、download_cursor 和 download_delete_cursor 必须使用 SELECT 语句来调用,而这些事件由 MobiLink 服务器以读取已提交的隔离级别来运行。MySQL ODBC 驱动程序中的错误会使服务器读取未提交操作,如 INSERT、UPDATE 和 DELETE 语句,这样就会导致统一数据库和远程数据库之间的数据不一致。
为解决此问题,将 LOCK IN SHARE MODE 子句附加到 SELECT 语句。例如:
SELECT column1 FROM table1 WHERE id > 0 LOCK IN SHARE MODE |
该子句会防止 SELECT 语句执行未提交操作。
批量上载 MySQL ODBC 驱动程序当前不支持正确批量上载。
MLSD MySQL ODBC 驱动程序当前不支持 MSDTC,因此不支持单独的 MLSD。
MySQL 服务器配置 MobiLink 同步脚本作为文本存储在 ml_script 表中,需要时可对其进行检索。可能需要在 my.ini 文件中将 max_allowed_packet 设置为 16m 或更大。
冲突检测 针对 MySQL 统一数据库冲突解决生成的脚本拥有多个语句。如果使用冲突检测,则在配置 MobiLink 服务器的 DSN 以连接 MySQL 数据库时,必须启用 [MySQL Connector/ODBC Data Source Configuration] 窗口的 [Flags 3] 页面上的 [Allow Multiple Statements] 复选框。
多个语句 如果某些同步脚本包含用分号分隔的批处理 SQL 命令,那么,当您配置 MobiLink 服务器的 DSN 以连接 MySQL 数据库时,可能需要选中在 [MySQL Connector/ODBC Data Source Configuration] 窗口的 [Flags 3] 页面上的 [Allow Multiple Statements] 复选框。
请参见MobiLink 隔离级别。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |