Solidworks PDM: 如何查找PDM文件在服务器中的物理路径

PDM允许用户在使用它的文档节点(vaults)管理各种各样类型的文件,并且通过EPDM接口可以方便的查找和修改这些文件。但是作为EPDM文档管理员的你可能想要得到EPDM文件的真实物理路径(资源定位符路径,例如:C:/new.txt),用来找回丢失的文件,或者其他目的。要找到他们并不是很困难,只需要在SQL中执行以下几个步骤。

现在我们来假设一下在文档节点中有一个名为:170-012-011.sldprt的文件,我们想知道它具体存在于哪个文档目录中。需要在SQL中查询Documents表。

打开SQL Server Management Studio,连接好SQL实例。执行下面的select语句.

会得到如图的结果:

查询Documents表语句的返回结果截图
查询Documents表语句的返回结果截图

我们来看下查询语句,我们从Documents表(FROM Documents)查询了document ID字段(SELECT Document ID),并且把查询到的Document ID转换成了一个16进制值(CONVERT(varbinary,DocumentID) as ID_Hex_Value)(稍候我们会看到为什么要这样做),然后还有一个文件名,Filename字段(where Filename like’170-012-011%‘

现在有趣的来了,EPDM如何知道文件的具体位置呢? 可以看到Document ID:3228的16进制值是C9C。现在把C9C组成一个8位数字,左边空白补0,就变成了00000C9C。那么我们要查找的文件目录就是:<vault name>\C\00000C9C。’\C\’定义了文件存储在名称为C的目录中,而00000C9C则是子目录的名称,如图。
文件节点存储一级目录截图 screen-shot-2015-02-05-at-2-30-49-pm-1024x559

然后打开目录就能看到。通常目录里会有一个index.xml文件。

screen-shot-2015-02-05-at-2-19-35-pm-1024x142

然后要查找的170-012-011.sldprt文件就是 00000001.SLDPRT。要验证是否正确的话,就打开index.xml可以看到filename。
epdm-archive-directory-2

ok,就是这样,要注意的是,不要手动修改这些文件,这样会对数据库产生影响。

本文翻译自:CAPUniversity
《How To Find Your Enterprise PDM Files Within the Archives Directory》