UltraLite 8.0 引入了下列新功能:
用户验证 在以前的版本中,UltraLite 数据库没有用以管理访问的用户验证机制。在此版本中,提供了一个内部用户验证机制。与大多数关系数据库管理系统的用户 ID 不同的是,UltraLite 用户 ID 不意味着对表和其它数据库对象的任何所有权。
数据库加密 可以通过加密数据库来提高数据的安全性。这可以通过两种方法实现。
高度加密 可以使用高度加密算法对数据库进行加密,以最大限度地提高安全性。但是,这种安全性可能会导致性能下降。这种加密是基于密钥的,并使用了 AES 128 位算法。
数据库模糊处理 您可以通过对数据库进行模糊处理来提高数据的安全性。如不经模糊处理,使用十六进制编辑器之类的工具就可以查看数据库中的数据。模糊处理可防止偶然查看数据的尝试,但不能提供高度加密那样严密的保护。模糊处理不会像高度加密那样造成性能下降。
有关详细信息,请参见保护 UltraLite 数据库。
UltraLite Java 应用程序的安全同步 使用 Certicom 传送层安全的安全同步以前只能在 C/C++ UltraLite 应用程序中才可以进行。现在从 UltraLite Java 应用程序中也可以使用。
ActiveSync 同步 Windows CE 设备上的 UltraLite 应用程序可以使用 ActiveSync 进行同步。
有关详细信息,请参见向应用程序添加 ActiveSync 同步。
同步更灵活 添加了多个新功能,可以更高效、灵活地选择要同步的数据:
您可以使用发布将数据划分为不同的集,然后分别同步这些数据集。这样,可以对时效性要求较高的数据(可能通过慢速连接链接传输)进行高效同步,而其它数据可以在比较方便的时间同步。
只下载同步允许您将只读表添加到 UltraLite 数据库,从而使用只下载同步来有效地同步这些表。
您可以每次标记要同步的表,而无论表中的数据是否已经更改。使用该功能可以维护 UltraLite 客户端上用于控制同步且可由用户配置的信息。
全局自动增量缺省列值 该功能提供了在同步数据库中保持主键唯一性的简单方法。
有关详细信息,请参见替换自动增量列的分区大小。
UltraLite 生成器的其它控制 为 ulgen 和 sqlpp 可执行文件添加了新的命令行选项:
脚本版本 您可以将一个脚本版本与生成的同步脚本进行关联。
日志查询执行计划 可以导出并在 Interactive SQL 中显示所生成查询的查询执行计划。
错误报告 ul_synch_info 结构中的 stream_error 字段可用于确定同步错误的原因。
有关详细信息,请参见Stream Error 同步参数。
现有数据库的重新使用 在 UltraLite 的以前版本中,对数据库应用程序的任何更改都要求对数据库进行重建和同步。而采用这一版本,只要数据库模式没有改变,您就可以继续将 UltraLite 数据库用于应用程序的新版本。对查询的更改本身不要求新数据库,除非它们引用了新列并因此改变了生成的数据库的模式。
数据库碎片整理 UltraLite 存储区能够有效地重复使用可用空间,因此在正常情况下不必进行显式碎片整理。对于有非常严格的空间要求的应用程序,提供了显式碎片整理功能。
可选择页面大小 您可以选择使用 2 KB 页面大小来替代缺省的 4 KB 页面大小。
CodeWarrior 7 支持 CodeWarrior 的 UltraLite 插件现在支持 CodeWarrior 版本 7。
eMbedded Visual C++ 支持使用该工具进行开发,并为 CustDB 示例应用程序提供了一个 eMbedded Visual C++ 项目。
Palm OS 4.0 和基于文件的数据存储 UltraLite 现在支持 Palm Computing Platform 的 4.0 版本。从 Palm 4.0 开始,引入了各种辅助存储方案。您可以在 Palm 4.0 设备的扩展卡上使用基于文件的 UltraLite 数据存储。
Palm Computing Platform 的同步得到改进 Palm Computing Platform 上 HotSync 和 ScoutSync 同步的新简化同步机制与以前的同步机制相比具有多个优点:
启动和退出速度快。
在同步过程中,Palm 设备上不需要额外的存储空间。
应用程序可以同步若干次而无需启动。
不需要指定流参数。
不建议使用 ULPalmDBStream 和 ULConduitStream 函数。
有关详细信息,请参见将 HotSync 同步添加到 Palm 应用程序。
在 Palm Computing Platform 上部署更方便 您可以给最终用户部署 UltraLite 数据库的初始副本,这样,第一次同步就不必为每个用户下载数据的初始副本。
有关详细信息,请参见部署 Palm 应用程序。
Palm 段的处理得到改进 当为 Palm Computing Platform 开发时,应用程序代码必须分成若干个大小有限的段。
此软件的早期版本中提供的分段方法不允许用户对 UltraLite 生成代码的分段进行控制,从而经常造成所指定的段数过多(可能会降低性能)。新机制生成的段数更少,并允许客户控制段数的指定。
嵌入式 SQL 中的 LONG 值 您可以通过 DECL_LONGVARCHAR 和 DECL_LONGBINARY 对于 Long 型值(介于 32 KB 和 64 KB 之间)使用主机变量。
参考数据库中的分析器挂接 现在,UltraLite 生成器在分析过程的前后都会激活存储过程。
执行计划信息 UltraLite 生成器现在可以输出访问计划,以便用于 UltraLite 应用程序中的查询。此外,您还可以从 Interactive SQL 查看将用于 UltraLite 的执行计划。
脚本版本控制 您可以在 UltraLite 生成器命令行中指定用于同步的脚本版本。
更多的 SQL 和 API 功能 UltraLite 应用程序中现在提供了下列功能。
支持 @@identity UltraLite 现在支持 @@identity 全局变量。该功能用于全局自动增量缺省列值的上下文中。在 C++ API 中,请使用 ULConnection::GetLastIdentity() 方法。
表中的行数 您可以使用 ULTable::GetRowCount() 方法从 C++ API 编程接口确定表中的行数。嵌入式 SQL 用户可继续使用 SELECT COUNT(*) FROM table-name 语句。
删除表中的所有行 您可以使用 ULTable::DeleteAllRows() 方法从 C++ API 编程接口删除表中的所有行。嵌入式 SQL 用户可继续使用 DELETE FROM table-name 语句。
受影响的行数 您可以使用 SQLCOUNT 宏从嵌入式 SQL 确定上一条 INSERT、UPDATE 或 DELETE 语句影响的行数。
要上载的行数 您可以确定需要同步的行数。
有关详细信息,请参见ULCountUploadRows 函数。
上次下载时间 您可以从 UltraLite 应用程序获取发布的上次下载时间。
有关详细信息,请参见ULGetLastDownloadTime 函数。
其它游标操作 C++ API 的 ULTable 类具有额外的方法(FindFirst、FindNext、FindPrevious、FindLast),可以用来在结果集中查找行。
从 DUMMY 系统表中进行查询 现在支持 SELECT ...FROM DUMMY 形式的查询。
更新多个表 多个表上的游标现在可以接受修改多个表的更新。
嵌入式 SQL 的 LONG 数据类型的处理得到改进 DECL_LONGVARCHAR 和 DECL_LONGBINARY 主机变量类型可用于在单个操作中发送或检索超过 32 KB 的数据。
有关详细信息,请参见嵌入式 SQL 中的数据类型。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |