Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 11 - 更改和升级 » 8.0.0 版中的新功能 » 版本 8 中的新功能

 

UltraLite 的新功能

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 设备上不需要额外的存储空间。

    • 应用程序可以同步若干次而无需启动。

    • 不需要指定流参数。

    不建议使用 ULPalmDBStreamULConduitStream 函数。

    有关详细信息,请参见将 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 类具有额外的方法(FindFirstFindNextFindPreviousFindLast),可以用来在结果集中查找行。

    • 从 DUMMY 系统表中进行查询   现在支持 SELECT ...FROM DUMMY 形式的查询。

    • 更新多个表   多个表上的游标现在可以接受修改多个表的更新。

    • 嵌入式 SQL 的 LONG 数据类型的处理得到改进   DECL_LONGVARCHAR 和 DECL_LONGBINARY 主机变量类型可用于在单个操作中发送或检索超过 32 KB 的数据。

      有关详细信息,请参见嵌入式 SQL 中的数据类型