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 统一数据库

 

RDBMS 相关同步脚本

MobiLink 使用同步脚本来定义用于同步数据的规则。同步脚本定义:

  • 如何将从远程数据库上载的数据应用到统一数据库。

  • 应从统一数据库将哪些数据下载到远程数据库。

请参见编写同步脚本

有关可为其编写脚本的事件的完整列表,请参见同步事件

有关各种类型统一数据库的特定信息,请参见:

.NET 和 Java 同步脚本

您可以用您的数据库所使用的 SQL 语言版本编写同步逻辑。还可以使用 Java 或 .NET 编写可移植性更强并且更强大的脚本。Java 和 .NET 提供的灵活性超出每个 RDBMS 通过 SQL 提供的灵活程度,它们同时还提供与 SQL 的完全兼容。使用 Java 或 .NET 同步逻辑时,可以保存会话范围的变量、创建用户定义的过程、集成到外部服务器的验证等等。

有关 Java 同步逻辑的信息,请参见编写 Java 同步逻辑

有关 .NET 同步逻辑的信息,请参见使用 .NET 编写同步脚本

在脚本中调用过程

有些数据库(如 Microsoft SQL Server)要求使用 ODBC 语法编写带有参数的过程调用。

{ CALL procedure_name( {ml param1}, {ml param2}, ... ) }

您可以通过在过程定义中将参数定义为 OUT 或 INOUT 来返回值。

CHAR 列

在许多其它 RDBMS 中,CHAR 数据类型长度固定并填充空白以达到字符串的全长。在 SQL Anywhere 或 UltraLite 远程 MobiLink 数据库中,CHAR 与 VARCHAR 相同:值不填充空白以达到固定宽度。如果未将 SQL Anywhere 用作统一数据库,强烈建议在统一数据库中使用 VARCHAR 而不是 CHAR。如果必须使用 CHAR,在同步过程中可以使用 mlsrv11 -b 命令行选项删除字符串的尾随空白。此选项对于用于检测冲突的字符串比较十分重要。

请参见-b 选项

数据转换

有关 MobiLink 服务器与非 SQL Anywhere 的统一数据库通信时必须发生的数据转换的信息,请参见远程数据库和统一数据库之间的 MobiLink 数据映射