在命令行中從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 數據庫而計劃。