游标更新 UltraLite 应用程序现在支持在处理游标时修改数据库数据的功能。在 SQL Anywhere 数据库中,并非所有查询结果集都允许更新和删除游标。请确保您了解允许和执行更新的各种情况。请参见读取数据。
连接字符串已简化 由于 UltraLite 始终会提供缺省的用户 ID DBA 以及口令 sql,因此您现在只需在连接字符串中指定数据库即可进行连接。此外,大多数数据库都可使用 DBF 连接参数进行设置。请参见连接到 UltraLite 数据库。
引入了 MLFileTransfer 函数 将此文件传输函数与 MobiLink 文件传输实用程序配合使用可下载文件。要下载的文件可特定于一个 Mobilink 用户名或一个缺省文件。例如,应用程序可选择下载预先配置的空数据库文件,来替换本地数据库(在月初或处理周期开始时)。请参见MobiLink 文件传输实用程序 (mlfiletransfer)。
数据库创建 现在,UltraLite 模式是数据库的一部分,而不存在于一个独立的 .usm 文件之中。这意味着,应用程序创建新数据库的方式不能与先前版本所支持的方式相同。
请参见以下任何内容:
支持 Symbian OS 现在通过使用 Codewarrior 或 Carbide C++ 开发环境,为 Symbian OS 平台提供了 UltraLite C/C++ 支持。
新增函数 此发行版本增添了许多新函数。其中包括:
GetPublicationMask 函数,用于获取给定发布名的发布掩码。请参见IsCaseSensitive 函数。
现在必须先调用适当的 ULEnable*Synchronization 函数,然后才能通过指定的网络协议进行同步。请参见ULEnableHttpSynchronization 函数、ULEnableHttpsSynchronization 函数、ULEnableTcpipSynchronization 函数、ULEnableTlsSynchronization 函数、ULEnableZlibSyncCompression 函数或ULEnableEccSyncEncryption 函数。
改进的宽字符和窄字符 (ASCII) 支持 尽管现在 UltraLite 只有一种数据库文件格式(窄字符),应用程序仍可以使用 TCHAR 的宽定义。宽字符可转换为其 MBCS 等效形式,也可根据需要将其等效形式转换为宽字符。
增强的函数更改 现有函数的增强包括:
如果您的应用程序不需要 SQL 支持,则使用 ULInitDatabaseManagerNoSQL 函数代替 ULInitDatabaseManager 可显著减小应用程序的大小。请参见ULInitDatabaseManagerNoSQL。
已增强的 SetReadPosition 函数可以采用第二个参数 (offset_in_chars),其指明偏移量是以字节为单位还是以字符为单位。请参见SetReadPosition 函数。
SetSynchInfo 现在执行自动提交,以使所有同步信息被立即保存。
ULStoreDefragInit、ULStoreDefragFini 和 ULStoreDefragStep 将不再需要。UltraLite 现在在内部管理数据库存储库碎片整理。
不建议使用 ULEnableUserAuthentication 函数,因为用户验证会一直启用。UltraLite 现在允许最多定义四个可连接到数据库的用户名(缺省用户名为 "DBA",口令为 "sql")。
现在,MobiLink 同步代码必须先调用 ULEnableTcpipSynchronization,然后才能调用 InitSynchInfo。请参见InitSynchInfo 函数。
UltraLite 嵌入式 SQL 不再是静态 API,并且不再需要参考数据库。而 SQL 预处理器仅需要源文件。它生成可将 SQL 语句发送到 UltraLite 的函数。先前版本所支持的一些 SQL 语句将不受 UltraLite SQL 支持。版本 10 支持动态 SQL 语句,而先前版本并不支持该语句。
新增函数 此发行版本增添了许多新函数。其中包括:
ULEnableZlibSyncCompression 函数在同步过程中启用 zlib 压缩。请参见ULEnableZlibSyncCompression 函数和MobiLink 客户端网络协议选项。
Palm OS 或 Symbian OS 不支持 zlib 压缩。
增强的函数 现有函数的增强包括:
将 GetSQLColumnName 添加到 UltraLite_RowSchema_iface 中。根据模式的类型,该函数将返回不同的结果:
与 UltraLite_TableSchema 一起使用时,此函数返回 column_id 参数指定的列名。
与 UltraLite_ResultSetSchema 一起使用时,此函数返回以下两个值之一:
别名(如果为正在讨论的结果集列指定了别名)。
列名(如果结果集列代表一个表列)。
在所有其它情况下,均会返回空字符串。
UltraLite 现在支持 Visual Studio 2003 中的 ADO.NET 1.0 开发,以及 Visual Studio 2005 中的 ADO.NET 2.0 开发。
新方法 此发行版本增添了许多新函数。其中包括:
ExecuteResultSet 方法执行一条 SQL SELECT 语句,并返回可更新的结果集作为 ULResultSet 类。请参见ExecuteResultSet 方法。
ULResultSet 类包括以下方法:Append*、Set*、Delete、Update。有关这些方法的详细信息,请参见ULResultSet 类。
UltraLite.NET 现在在 TCP/IP 同步期间支持 TLS。
ConnectionString 属性和 ULConnectionParms 对象已被增强,以支持受限制的引用。请参见ULConnectionParms 类。
GetPublicationPredicate 方法返回指定发布的发布谓语字符串。如果此发布不存在,则设置 SQLE_PUBLICATION_NOT_FOUND。请参见GetPublicationPredicate 方法。
SignalSyncIsComplete 方法用信号通知 ActiveSync 的 MobiLink 提供程序某个应用程序已完成同步。请参见SignalSyncIsComplete 方法。
SetDatabaseOption 方法为指定数据库选项设置值。请参见SetDatabaseOption 方法。
增强方法 现有方法的增强包括:
ULSyncParms 类现在利用 TableOrder 顺序属性,来指定将表上载到统一数据库时所应遵循的顺序。请参见AdditionalParms 属性。
GetSchemaTable 方法现在返回扩展的表元数据。有关完整列表,请参见GetSchemaTable 方法。
现在,当表位于 UL_TABLE_ACCESS_MODE_NONE 或 UL_TABLE_ACCESS_MODE_FIND_AGAIN 中时,UpdateBegin 方法在 ResultSet 级别为可选项。过去,必须要进行此更改,才能使 UltraLite.NET API 与 ADO.NET 2.0 结果集兼容。请参见UpdateBegin 方法。
GetDatabaseProperty 方法现在可以识别更多属性。请参见GetDatabaseProperty 方法。
ULSyncProgressData 类现在包括一个 Flags 属性。请参见Flags 属性。
UltraLite for AppForge 现在支持 Symbian OS 平台。对 UltraLite 引擎的支持已添加到此发行版本中,从而允许多个应用程序同时访问单个数据库。
新方法 OnWaiting 方法提供了一种机制,使用户应用程序能够处理 GUI 事件并可以取消当前操作。
新方法 此发行版本增添了许多新方法。其中包括:
setMBAServerWithMoreParms 方法在使用一键同步时设置代理服务器信息。这一新方法通过添加一个名为 additional 的新字符串参数,增强现有 setMBAServer 方法。
getPublicationMask 方法获取给定发布名的发布掩码。
getPublicationPredicate 方法返回指定发布的发布谓语字符串。如果此发布不存在,则设置 SQLE_PUBLICATION_NOT_FOUND。
增强方法 以下现有方法的增强包括:
setStream 方法现在支持用于 TLS(Transport Layer security,传送层安全性)的 ECC(Elliptic curve cryptography,椭圆曲线加密算法)。请参见SyncParms 类。
ECC 加密并非在所有平台上均可用。有关受支持的平台的列表,请参见支持的平台。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |