如何从Project Server 2016数据库中获取Baseline X日期及相关列数据
Project Server 2016 Baseline 数据获取方案
数据库查询说明
- 你提到的
pjpub、pjdraft、pjver是Project Server 2010及更早版本的旧库结构,Project Server 2016已经废弃该分库逻辑,官方仅支持查询 PWA站点对应的Reporting(报表)库,直接查询其他业务库会违反服务协议,还可能引发数据异常。 - 任务级Baseline日期存储在
MSP_EpmTask_UserView视图,字段格式为TaskBaseline[0-10]StartDate、TaskBaseline[0-10]FinishDate,将数字替换为你需要的Baseline编号即可。 - 项目级Baseline日期存储在
MSP_EpmProject_UserView视图,字段格式为ProjectBaseline[0-10]StartDate、ProjectBaseline[0-10]FinishDate。 - 自定义Baseline扩展字段可关联
MSP_EpmTaskUserDefinedFields、MSP_EpmProjectUserDefinedFields表查询对应值。
CSOM调用补充
你无法通过CSOM获取相关数据,是因为没有显式加载Baseline对象,参考调用代码如下:
ProjectContext projContext = new ProjectContext("你的PWA站点地址"); PublishedProject project = projContext.Projects.GetById(projectGuid); projContext.Load(project, p => p.TaskBaselines); projContext.ExecuteQuery(); // 遍历取指定Baseline的日期值 foreach (var baseline in project.TaskBaselines) { if(baseline.BaselineNumber == BaselineType.Baseline1) // 此处替换为你需要的Baseline编号 { DateTime baselineStart = baseline.Start.Value; DateTime baselineFinish = baseline.Finish.Value; } }
内容的提问来源于stack exchange,提问作者Jose Luis Suarez Cabrera
相关产品推荐
相关产品推荐

