技术文章 - CS408736

使用 Windchill Bulk Migrator 时无法提取 WTDocument ContentMetadata,并显示消息“没有 wt.doc.WTDocument|CONTENT 对象可提取”

已修改: 12-Jan-2024   


注意:本文已使用机器翻译软件翻译,以方便非英语客户阅读。但翻译内容可能包含语法错误或不准确之处。请注意, PTC对本文所含信息的翻译准确性及使用后果不承担任何责任。请在 此处 查看本文的英文原始版本以便参考。有关机器翻译的更多详情,请单击 此处
感谢您告诉我们。我们将尽快审阅此译文。

适用于

  • Windchill Bulk Migrator 12.0.2.5

说明

  • 无法提取 WTDocument ContentMetadata,并显示消息“没有要提取的 wt.doc.WTDocument|CONTENT 对象”
  • 提取报告显示源 Windchill 环境中存在一些 WTDocument FILECONTENT
  • 在提取服务器日志中观察到以下消息:
[RMI TCP Connection(17)-xxx.xx.xxx.xx] INFO  util.WBMMigrationSourceSitHelper                  - Migration source site information already exist.
[RMI TCP Connection(17)-xxx.xx.xxx.xx] INFO  wbmutil.CommonConnectionPool                      - Total Connections with Staging database are: 10
[RMI TCP Connection(17)-xxx.xx.xxx.xx] INFO  session.WBMSessionCache                           - Initialized WBM session cache
[RMI TCP Connection(17)-xxx.xx.xxx.xx] INFO  session.WBMSessionServerHelper                    - ### ENTER: Registering session:637828 for type:wt.doc.WTDocument|CONTENT
[RMI TCP Connection(17)-xxx.xx.xxx.xx] INFO  session.WBMSessionServerHelper                    - Entry not Found for type:wt.doc.WTDocument|CONTENT
[RMI TCP Connection(17)-xxx.xx.xxx.xx] INFO  session.WBMSessionServerHelper                    - ### EXIT: Registering session:637828 for type:wt.doc.WTDocument|CONTENT
[RMI TCP Connection(17)-xxx.xx.xxx.xx] INFO  session.WBMSessionServerHelper                    - ### ENTER: Unregistering session:637828 from cache for type:wt.doc.WTDocument|CONTENT
[RMI TCP Connection(17)-xxx.xx.xxx.xx] INFO  session.WBMSessionServerHelper                    - Removing the entry, threadcount is 0
[RMI TCP Connection(17)-xxx.xx.xxx.xx] INFO  session.WBMSessionServerHelper                    - ### Exit: Unregistered session:637828 for type:wt.doc.WTDocument|CONTENT
  • 在提取客户端日志中观察到以下消息:
[main] INFO  client.Extractor                                  - *******************No wt.doc.WTDocument|CONTENT objects  to extract**************************
[main] INFO  wbmutil.CommonConnectionPool                      - Total Connections with Staging database are: 10
[main] INFO  wbmutil.CommonConnectionPool                      - Total Connections with Staging database are: 10
[main] INFO  wbmutil.CommonConnectionPool                      - Total Connections with Staging database are: 10
[main] INFO  wbmutil.CommonConnectionPool                      - Total Connections with Windchill database are: 10
[main] INFO  sql.ExtractionFailureSqlHelper                    - creating failure lower boundary timestamp to list of failure ids map
[main] INFO  wbmutil.CommonConnectionPool                      - Total Connections with Staging database are: 10
[main] INFO  extractor.ExtractedClassStatistics                - 

******************************************************************************************************************************
                              Extraction Statistics for the Object Type:wt.doc.WTDocument(FILECONTENT)
                              Processed Items Count :0
                              Staged Items count    :0
                              Filtered Items count  :0
                              Failed object count   :0

                              Finished extraction. You can see more details by running reports.
******************************************************************************************************************************
  • 以下是从客户端日志中捕获的提取查询:
WITH  cont as (               select con.idA2A2 idA2A2, con.namecontainerInfo CONTAINER_NAME, con.classnameA2A2 CONTAINER_TYPE, wtorg.name CONTAINER_ORGANIZATION_NAME      from dbuser.PDMLinkProduct con join WTOrganization wtorg on con.idA3organizationReference=wtorg.idA2A2     union all       select con.idA2A2 idA2A2, con.namecontainerInfo CONTAINER_NAME, con.classnameA2A2 CONTAINER_TYPE, wtorg.name CONTAINER_ORGANIZATION_NAME      from dbuser.WTLibrary  con join WTOrganization wtorg on con.idA3organizationReference=wtorg.idA2A2     union all           select con.idA2A2 idA2A2, con.namecontainerInfo CONTAINER_NAME, con.classnameA2A2 CONTAINER_TYPE, wtorg.name CONTAINER_ORGANIZATION_NAME      from dbuser.Project2  con join WTOrganization wtorg on con.idA3organizationReference=wtorg.idA2A2     union all       select con.idA2A2 idA2A2, con.namecontainerInfo CONTAINER_NAME, con.classnameA2A2 CONTAINER_TYPE, wtorg.name CONTAINER_ORGANIZATION_NAME      from dbuser.ExchangeContainer con join WTOrganization wtorg on con.idA3organizationReference=wtorg.idA2A2     union all            select con.idA2A2 idA2A2, con.namecontainerInfo CONTAINER_NAME, con.classnameA2A2 CONTAINER_TYPE, wtorg.name CONTAINER_ORGANIZATION_NAME      from dbuser.OrgContainer con join WTOrganization wtorg on con.idA3organizationReference=wtorg.idA2A2     ) select * from (select * from (SELECT AD.classnamekeyA5 storageClass, SITE.url SRCSITEURL,FVV.name SRCVAULTNAME,MOUNT.path SRCFILEPATH , lower(TO_CHAR(FVI.UNIQUESEQUENCENUMBER,'FM0XXXXXXXXXXXXX')) SRCFILENAME,AD.fileSize SRCFILESIZE,AD.fileVersion SRCFILEVERSION,AD.streamId UNIQUECONTENTIDENTIFIER,AD.fileName FILENAME,DATA.OBJECTNUMBER OBJECTNUMBER,DATA.OBJECTVERSION HOLDERREVISION,DATA.OBJECTITERATION HOLDERITERATION,DATA.DOCUMENTID IdentityId,DATA.CLASSNAME HOLDERCLASSNAME,org.name ORGANIZATION_NAME,AD.role,AD.category,AD.classnameA2A2 TYPE,AD.classnameA2A2 SOURCECLASS    ,AD.idA2A2 SOURCEID    ,AD.description DESCRIPTION,AD.comments COMMENTS,creator.name CREATEDBY ,AD.createStampA2 CREATEDDATE,modifier.name MODIFIEDBY,AD.modifyStampA2 MODIFIEDDATE, HC.modifyStampA2 modifyStamp,cont.CONTAINER_NAME CONTAINER,    cont.CONTAINER_TYPE CONTAINERTYPE,    cont.CONTAINER_ORGANIZATION_NAME CONTAINER_ORGANIZATION_NAME     FROM dbuser.ApplicationData AD left outer join dbuser.WTUser modifier ON modifier.idA2A2 = AD.idA3C4,dbuser.HolderToContent HC,dbuser.FvItem FVI,dbuser.FvFolder FOL,dbuser.FvVault FVV,dbuser.FvHost FVH,dbuser.Site SITE,dbuser.FvMount MOUNT,dbuser.WTUser creator,dbuser.WTOrganization org,cont , (SELECT D.classnameA2A2 CLASSNAME,M.WTDocumentNumber OBJECTNUMBER,D.versionIdA2versionInfo OBJECTVERSION,D.iterationIdA2iterationInfo OBJECTITERATION,M.idA3organizationReference ORG,M.idA3containerReference containerRef,D.idA2A2 DOCUMENTID,D.modifyStampA2 modifyStamp FROM dbuser.WTDocumentMaster M,dbuser.WTDocument D, dbuser.Cabinet cabinet WHERE D.idA3masterReference = M.idA2A2  AND M.markForDeleteA2 = 0  AND D.markForDeleteA2 = 0  AND D.oneOffVersionIdA2oneOffVersi is null  AND D.idA3A2folderingInfo= cabinet.idA2A2       AND cabinet.personalCabinet=0                and D.statecheckoutInfo in ('c/i','c/o','sb c/o','term')) DATA  WHERE DATA.DOCUMENTID = HC.idA3A5 AND FVH.hostName  in ('xyz.ptc.com') AND HC.idA3B5=AD.idA2A2 AND AD.idA3A5=FVI.idA2A2 AND FVI.idA3A4=FOL.idA2A2 AND FOL.idA2A2=MOUNT.idA3A5 AND FOL.idA3A5=FVV.idA2A2 and FVV.idA3A5=SITE.idA2A2 AND MOUNT.idA3B5=FVH.idA2A2 AND FVH.idA3A5=SITE.idA2A2 and AD.idA3A4=creator.idA2A2 and DATA.ORG=org.idA2A2 and cont.idA2A2 = DATA.containerRef  AND (HC.modifyStampA2 between TIMESTAMP '2024-01-11 07:47:09.199'  and TIMESTAMP '2024-01-11 09:13:58.761' or DATA.modifyStamp  between TIMESTAMP '2024-01-11 07:47:09.199'  and TIMESTAMP '2024-01-11 09:13:58.761') UNION ALL SELECT AD.classnamekeyA5 storageClass, null SRCSITEURL,null SRCVAULTNAME,null SRCFILEPATH,null SRCFILENAME ,AD.fileSize SRCFILESIZE,AD.fileVersion SRCFILEVERSION,AD.streamId UNIQUECONTENTIDENTIFIER,AD.fileName FILENAME,DATA.OBJECTNUMBER OBJECTNUMBER,DATA.OBJECTVERSION HOLDERREVISION,DATA.OBJECTITERATION HOLDERITERATION,DATA.DOCUMENTID IdentityId,DATA.CLASSNAME HOLDERCLASSNAME,org.name ORGANIZATION_NAME,AD.role,AD.category,AD.classnameA2A2 TYPE,AD.classnameA2A2 SOURCECLASS    ,AD.idA2A2 SOURCEID    ,AD.description DESCRIPTION,AD.comments COMMENTS,creator.name CREATEDBY ,AD.createStampA2 CREATEDDATE,modifier.name MODIFIEDBY,AD.modifyStampA2 MODIFIEDDATE, HC.modifyStampA2 modifyStamp,cont.CONTAINER_NAME CONTAINER,    cont.CONTAINER_TYPE CONTAINERTYPE,    cont.CONTAINER_ORGANIZATION_NAME CONTAINER_ORGANIZATION_NAME     FROM dbuser.ApplicationData AD left outer join dbuser.WTUser modifier ON modifier.idA2A2 = AD.idA3C4,dbuser.HolderToContent HC,dbuser.WTUser creator,dbuser.WTOrganization org,cont , (SELECT D.classnameA2A2 CLASSNAME,M.WTDocumentNumber OBJECTNUMBER,D.versionIdA2versionInfo OBJECTVERSION,D.iterationIdA2iterationInfo OBJECTITERATION,M.idA3organizationReference ORG,M.idA3containerReference containerRef,D.idA2A2 DOCUMENTID,D.modifyStampA2 modifyStamp FROM dbuser.WTDocumentMaster M,dbuser.WTDocument D, dbuser.Cabinet cabinet WHERE D.idA3masterReference = M.idA2A2  AND M.markForDeleteA2 = 0  AND D.markForDeleteA2 = 0  AND D.oneOffVersionIdA2oneOffVersi is null     AND D.idA3A2folderingInfo= cabinet.idA2A2       AND cabinet.personalCabinet=0  AND D.statecheckoutInfo in ('c/i','c/o','sb c/o','term')) DATA  WHERE DATA.DOCUMENTID = HC.idA3A5 AND HC.idA3B5=AD.idA2A2 and AD.idA3A4=creator.idA2A2 and DATA.ORG=org.idA2A2 and cont.idA2A2 = DATA.containerRef  and AD.classnamekeyA5 != 'wt.fv.FvItem' AND (HC.modifyStampA2 between TIMESTAMP '2024-01-11 07:47:09.199'  and TIMESTAMP '2024-01-11 09:13:58.761' or DATA.modifyStamp  between TIMESTAMP '2024-01-11 07:47:09.199'  and TIMESTAMP '2024-01-11 09:13:58.761')) tab1, ( select CASE WHEN RM.IS_FILEBASED is null THEN 1 ELSE RM.IS_FILEBASED END AS IS_FILEBASED, AD.ida2a2 AD_ida2a2 from dbuser.APPLICATIONDATA AD inner join dbuser.FVITEM FVI on AD.IDA3A5=FVI.IDA2A2 inner join dbuser.FVFOLDER FVF on FVI.IDA3A4=FVF.IDA2A2 left outer join dbuser. ROOTFOLDER RF on FVF.IDA3B5=RF.IDA2A2 left outer join  (select ida3b5, CASE WHEN MOUNTTYPE='fileBased' THEN 1 WHEN MOUNTTYPE is null THEN 1 ELSE 0 END as IS_FILEBASED from dbuser.ROOTMOUNT group by ida3b5, MOUNTTYPE) RM on RM.IDA3B5=RF.IDA2A2) tab2 where tab1.SOURCEID=tab2.AD_ida2a2) tab where 1=1 order by IdentityId
  • 第二次尝试提取 WTDocument 内容
这是文章 408736 的 PDF 版本,可能已过期。最新版本 CS408736