教你学会怎样升级到SQL Anywhere10(13)
在命令行中从SQL Anywhere 参照数据库初始化/抽取UltraLite 数据库
1、 请认真阅读软件升级中的重要事项。
2、 确保系统路径中UltraLite 版本10 的实用工具在之前版本的实用工具前。
3、 确保您已经升级已有SQL Anywhere 数据库并根据UltraLite 的使用情况来准备它。如果需
要升级发布,请确保在重建UltraLite 数据库之前完成。
4、 开启一个命令行终端并运行初始化数据库实用工具(ulinit)以抽取UltraLite 数据库。请使用
以下语句:
|
确保您已经:
· 提供了SQL Anywhere 参照数据库和新UltraLite 数据库的连接字符串。
· 命名的发布包含了UltraLite 数据库需要的表。如需要抽取所有的表,请使用-n*。
其他选项请按需决定。
之前版本的UltraLite 应用必须使用版本10 的API 重生成。这些API 在底层做了重大提升,需
要您首先更改代码,然后重新生成应用。
在开始之前,请务必确保您已经认真阅读了UltraLite 新功能以确认需要如何修改您所使用的
API。
将UltraLite 应用的代码移植至版本10
特殊应用升级考虑
· 需要更新连接代码。对于大多数的API 来说,您可能需要使用连接参数控件。只有
UltraLite for AppForge 需要您使用新控件。例如,在UltraLite for MobileVB 版本9.x 的项
目中,ULDatabaseManager *WithParms 方法中携带的ULConnectionParms 对象不再被
支持了。您必须重写代码,使用ULConnectionParms.ToString()方法来替代。
连接参数控件方便地组合了一系列的连接参数。UltraLite 运行时则将组合的参数转换为字
符串。除了UltraLite for AppForge API 之外的其他API,您仍能使用连接对象。虽然如
此,连接参数控件提供了更好的诊断连接字符串的错误。请参看UltraLite 文档来了解详细
信息。
· UltraLite 模式现在已经被集成至数据库表中,不再是单独的.usm 文件。这意味着您不能使
用该文件在设备上创建数据库。新的数据库创建函数/方法已被加入。但是,该方法可能增
加应用的大小。为了避免应用膨胀,请现在桌面上使用管理工具创建数据库然后再将其部
署至应用中。
· 在本版本中,UltraLite 总是让验证生效并最多支持到4 个用户ID 和密码。但是,如果不需
要在数据库中保留验证,则不要创建或提供用户ID 和密码。如果没有提供用户名和密码,
则UltraLite 缺省提供UID=DBA、PWD=sql。
· 版本10 的UltraLite for AppForge 组件替代了之前版本的UltraLite for MobileVB。您在同
一台机器上不能使用多个版本的组件。否则,AppForge 不能编译VB 项目并产生以下错
误:
"Error importing ulmvbctl9.dll. Unable to load"
因此,您必须卸载9.x 版本的组件。
另外,如果用户在其设备上有9.x UltraLite 的UltraLite for Mobile VB 客户端,则必须先卸
载然后再安装使用版本10 的UltraLite for AppForge 客户端。
· 如果有多个嵌入SQL 文件,必须继续逐个使用SQL 与处理(sqlpp)生成C/C++源文件。
UltraLite 数据库现在直接支持嵌入式SQL。
· 对Unicode 的支持与原来的版本不同。版本10 数据库使用UTF-8 编码方式来为多字节字
符编码。这样,您不再需要为运行在非Unicode 运行时环境的Unicode 数据库而计划。