可以使用 SQL、Java(使用面向 Java 的 MobiLink 服务器 API)或者 .NET(使用面向 .NET 的 MobiLink 服务器 API)来编写 MobiLink 同步脚本。
如果要与受支持的统一数据库同步,则 SQL 同步逻辑通常是最佳选择。
如果不是要与受支持的统一数据库同步,使用 Java 或 .NET 会很有用。如果您的设计受到 SQL 语言的局限性或者数据库管理系统功能的限制,或者您只需要涵盖不同 RDBMS 类型的可移植性,Java 或 .NET 也非常有用。
Java 和 .NET 同步逻辑可以实现与 SQL 逻辑完全相同的功能。正如 MobiLink 服务器可以在 MobiLink 事件发生时访问 SQL 脚本一样,它也可以在 MobiLink 事件发生时调用 Java 或 .NET 方法。当使用 Java 或 .NET 工作时,可以使用事件进行一些额外处理,但当处理那些直接处理上载或下载行的事件的脚本时,您的实现必须返回 SQL 字符串。除了用于直接行处理的两个事件外,不能直接通过 Java 或 .NET 同步逻辑访问上载和下载:MobiLink 将 Java 或 .NET 返回的字符串作为 SQL 执行。
直接行处理(使用事件 handle_UploadData 和 handle_DownloadData 与某个数据源同步)真正实现了直接操纵上载和下载行的功能。
以下是在使用 Java 或 .NET 编写脚本时可能需要考虑的一些场景:
直接行处理 利用 Java 和 .NET 同步逻辑,您可以使用 MobiLink 来访问除了统一数据库外的其它数据源(如应用程序服务器、Web 服务器和文件)中的数据。
验证 可以使用 Java 或 .NET 编写用户验证过程,以使 MobiLink 验证可与公司安全策略相集成。
存储过程 如果您的 RDBMS 不具备使用用户定义存储过程的功能,可使用 Java 或 .NET 创建一种方法。
外部调用 如果程序需要在同步事件中途联系外部服务器,则可使用 Java 或 .NET 同步逻辑执行由同步事件触发的操作。可以在多个连接之间共享 Java 和 .NET 同步逻辑。
变量 如果您的数据库无法处理变量,可使用 Java 或 .NET 创建一个在整个连接或同步中均有效的变量。(或者使用 SQL 脚本,您可以使用用于所有统一数据库类型的用户定义命名参数。请参见用户定义的命名参数。)
通过 MobiLink 服务器 API 可使用 Java 和 .NET 同步逻辑。MobiLink 服务器 API 是几组用于 MobiLink 同步的类和接口。
面向 Java 的 MobiLink 服务器 API 可以帮助您:
像访问 JDBC 连接一样访问与统一数据库的现有 ODBC 连接。
使用诸如 JDBC、Web 服务和 JNI 这样的接口访问替代数据源。
实现创建与统一数据库的新 JDBC 连接的功能,以便能够在当前同步连接之外更改数据库。例如,即使同步连接执行回退,也可以使用此功能进行错误记录或者审计。
与统一数据库同步时,实现在 MobiLink 服务器执行 Java 代码之前编写 Java 代码并进行调试的功能。与 Java 应用程序可以使用的开发环境相比,用于许多数据库管理系统的 SQL 开发环境要相对简单。
SQL 行处理和直接行处理。
完整丰富的 Java 语言及其大量的现有代码和库。
请参见用于 Java 的 MobiLink 服务器 API 参考。
面向 .NET 的 MobiLink 服务器 API 可以帮助您:
使用从 .NET 调用 ODBC 的 iAnywhere 类访问与统一数据库的现有 ODBC 连接。
使用诸如 ADO.NET、Web 服务和 OLE DB 这样的接口访问替代数据源。
与统一数据库同步时,实现在 MobiLink 服务器执行 .NET 代码前编写 .NET 代码并进行调试的功能。与 .NET 应用程序可以使用的开发环境相比,用于许多数据库管理系统的 SQL 开发环境要相对简单。
SQL 行处理和直接行处理。
在 .NET 公共语言运行库 (CLR) 中运行的代码,这些代码允许访问所有 .NET 库,包括 SQL 行处理和直接行处理。
请参见用于 .NET 参考的 MobiLink 服务器 API。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |