本文介紹了ProE二次開發中PDMLDBStartTransaction函數的使用。
在每個Pro/INTRALINK Toolkit程序中,都離不開PDMLDBStartTransaction和PDMLDBCommitTransaction函數,有以下幾點需要注意:
1)PDMLDBStartTransaction和PDMLDBCommitTransaction這兩個函數必須成對使用;
2)一般情況下,在獲得License并正常登錄到INTRALINK(也就是正常連接INTRALINK數據庫)后,使用PDMLDBStartTransaction(ldb)函數來啟動事務,接下來才可以對INTRALINK的W/S進行操作;
3)在最后釋放License之前,處理完所有與INTRALINK相關的操作之后,必須使用PDMLDBCommitTransaction(ldb)函數來提交事務,保存之前所有對INTRALINK數據庫的相關操作;
4)在程序處理過程中,有兩種情況無法在啟動事務的狀態下進行:
a)使用PDMLDBFetch函數從C/S中檢出指定對象到W/S中;
b)使用ProWorkspaceRegister函數在打開的Pro/ENGINEER中連接指定的一個W/S;
當出現以上兩種情況時,必須先調用PDMLDBCommitTransaction函數提交事務,才可以正常調用以上PDMLDBFetch和ProWorkspaceRegister函數,處理完后如果還需要使用INTRALINK數據庫,則需要重新啟動事務;
如以下程序:
...
status = PDMLDBCommitTransaction(g_ldb);
(status == PDM_SUCCESS)?LogPrint(" PDMLDBCommitTransaction success "):LogPrint(" PDMLDBCommitTransaction failed ");
curpiv.Localize = 1;
status = PDMLDBFetch(g_ldb, (PTCSTRING)I_SpaceName, 1, &curpiv, 0, NULL, 1, 1, 0, NULL, 0, NULL, &checkout);
(status == PDM_SUCCESS)?LogPrint(" PDMWorkspaceFetch success "):LogPrint(" PDMWorkspaceFetch failed ");
status = PDMLDBStartTransaction(g_ldb);
(status == PDM_SUCCESS)?LogPrint( " PDMLDBStartTransaction success "):LogPrint(" PDMLDBStartTransaction failed ");
...
5)一旦發生提交事務失敗,數據庫將自動回滾,自動取消上一次啟動事務之后對INTRALINK數據庫所有的更改;
In Pro/INTRALINK Toolkit, no workspace handle is valid outside a workspace transaction. That is, after you close a workspace transaction, you may not be able to access the object using the handles from the previous transactions.
當重新啟動事務后,如果還需要使用工作區的句柄,則需要重新獲取,如可以通過工作區的名稱重新獲取。
補充以下2點:
1)當應用程序需要和工作區交換數據之前,必須啟動事務;在交換數據完成之后,必須提交事務。
2)當應用程序直接與公共區進行通信時,不需要啟動事務,系統將自動決定啟動、提交或取消事務。
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業技術人員計算機應用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應用 制表、數據處理及宏應用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環境藝術制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF