常用知识点
双击pdms.bat或双击修改过的快捷方式登录PDMS项目,这时可以看到左上角有一个滚动的文字窗口,一般里面的背景是黑色,文字是白色。当问题出现时,在这个窗口里向上翻查。这样我们才能开始寻找问题的原因。
常见的原因有三种,下面分别列出对应的内容参考与原因。
1 本项目参考的项目没有正确定义
PDMS项目之间引用数据库是很常见的做法,当被引用的项目没有定义或定义错误时,会导致无法进入工作模块。内容类似如下:
(43,41)Unable to open DB MASTER/PIPECATA. FNF:File not found
ERROR CONDITION OCCURRED WHILST MODULE SUITCHING
(41,55) No databases to work from.
In line 280 of Command/Form Forced Input
$nextModule. command $ireadonly Called from line 280 of Macro % PMLLIB%/limbo/functions/moduleswitch pmifnc
$nextModule、 command $! read0nly
Called from line 1 of Command/Form Callback Command
$m "% PMLLIB%/limbo/functions/moduleswitch. pmlfnc" Design FALSE TRUE
这时可以检查这里提示的DB是否为引用DB,如果是,则检查该DB归属的项目是否正确设置了。
2 单写类型的DB已经被其他用户以读写方式打开
(43,41)Unable to open DB SAMPLE/DESI. FIU:File in use
ERROR CONDITION OCCURRED WHILST MODULE SUITCHING
(41,55) No databases to work from.
In line 280 of Command/Form Forced Input
$nextModule. command $ireadonly Called from line 280 of Macro % PMLLIB%/limbo/functions/moduleswitch pmifnc
$nextModule、 command $! read0nly
Called from line 1 of Command/Form Callback Command
$m "% PMLLIB%/limbo/functions/moduleswitch. pmlfnc" Design FALSE TRUE
单写DB指ACCESS为update的DB,这样的DB在同一个时刻只允许一个用户以读写模式打开,当第二个用户尝试以读写模式打开时,就会提示该文件已经打开。
解决方式不止一种,根据情况选择,可以考虑调整用户和DB的分组;修改DB的ACCESS MODE;如果第二个用户并不需要对数据库写,可以在登录时勾选Read Only框。
3 本项目所引用DB的ACCESS MODE发生了变化,在本项目中记录的值与DB本身的值不同。
(43,45)Unable to open DB MASTER/PIPECATA,dabacon error 536
ERROR CONDITION OCCURRED WHILST MODULE SUITCHING
(41,55) No databases to work from.
In line 280 of Command/Form Forced Input
$nextModule. command $ireadonly Called from line 280 of Macro % PMLLIB%/limbo/functions/moduleswitch pmifnc
$nextModule、 command $! read0nly
Called from line 1 of Command/Form Callback Command
$m "% PMLLIB%/limbo/functions/moduleswitch. pmlfnc" Design FALSE TRUE
这种问题常见在被引用的项目出于某种原因修改的DB的Access Mode。
DB文件内部会记录Access Mode的值,引用该DB的项目中也会记录这个DB的解决方法可以是重新引用DB,也可以在Admin中使用以下命令对本项目中保存的该DB的Access Mode数据进行更新。
CHANGE FOREIGN dbname RESET
文档中对这个命令的解释如下:
CHANGE FOREIGN PIPE/PTPECATA RESET
If PIPE/PIPECATA is a local database in project AAA, and a foreign database in project BBB, and the access is changed(in AAA), you should give this command in project BBB to update the project.