教你学会怎样升级到SQL Anywhere10(13)
2010-02-07 15:12:29 来源:WEB开发网在命令行中从SQL Anywhere参照数据库初始化/抽取UltraLite数据库
1、请认真阅读软件升级中的重要事项。
2、确保系统路径中UltraLite版本10的实用工具在之前版本的实用工具前。
3、确保您已经升级已有SQL Anywhere数据库并根据UltraLite的使用情况来准备它。如果需要升级发布,请确保在重建UltraLite数据库之前完成。
4、开启一个命令行终端并运行初始化数据库实用工具(ulinit)以抽取UltraLite数据库。请使用以下语句:
ulinit -a "SAconnection-string"
-c "ULconnection-string"
-n pubname [ options
确保您已经:
· 提供了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数据库而计划。
更多精彩
赞助商链接