FileNet Content Engine - Database Table for Physical path

丶灬走出姿态 提交于 2020-04-13 08:03:09

问题


I realize this is possible with the FileNET P8 API, however I'm looking for a way to find the physical document path within the database. Specifically there are two level subfolders in the FileStore, like FN01\FN13\DocumentID but I can't find the reference to FN01 or FN13 anywhere.


回答1:


You will not find the names of the folders anywhere in the FN databases. The folder structure is determined by a hashing function. Here is an excerpt from this page on filestores:

Documents are stored among the directories at the leaf level using a hashing algorithm to evenly distribute files among these leaf directories.




回答2:


The IBM answer is correct only from a technical standpoint of intended functionality.

If you really really need to find the document file name and folder location, disable your actual file store(s) by making the file store(s) folder unavailable to Content Engine. I did that for each file store by simply changing the root FN#'s to FN#a. For instance, FN3 became FN3a. Once done, I changed the top tree folder back. I used that method so log files would not exceed the tool's maximum output. Any method that leaves a storage location (eg: drive, share, etc) accessible and searchable, but renders the individual files unavailable should cause the same results.

Then, run the Content Engine Consistency Checker. It will provide you with a full list of all files, IDs and locations.

After that, you can match the entries to the OBJECT_ID fields in the database tables. In non-MSSQL databases, the byte ordering is reversed for the first few octets of the UUID. You need to account for that and fix the byte ordering to match the CCC output.

...needs to be byte reversed so that it can be queried upon in Oracle. When querying on GUIDs, GUIDs are stored in byte-reversed form in Oracle and DB2 (not MS SQL), whereby the first three sections are pair reversed and the last two are left alone.

Thus, the same applies in reverse. In order to use the output from the Content Consistency Checker to match output to database, one must go through the same byte ordering reversal.

See this IBM Tech Doc and the answer linked below for details:

  • IBM Technote: https://www.ibm.com/support/pages/node/469173
  • Stack Answer: https://stackoverflow.com/a/53319983/1854328

More detailed information on the storage mechanisms is located here:

  • IBM Technote: "How to translate the unique identifier as displayed within FileNet Enterprise Manager so that it matches what is stored in the Oracle and DB2 databases"

I do not suggest using this for anything but catastrophic need, such as rebuilding and rewriting an entire file store that got horrendously corrupted by your predecessor when they destroyed an NTFS (or some similarly nasty situation).

It is a workaround to bypass FileNet's hashing that's used to obsfucate content information from those looking at the file system.



来源:https://stackoverflow.com/questions/31923551/filenet-content-engine-database-table-for-physical-path

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!