Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Version control 通过命令行导出单个Congos报告_Version Control_Cognos_Cognos 10_Cognos Bi - Fatal编程技术网

Version control 通过命令行导出单个Congos报告

Version control 通过命令行导出单个Congos报告,version-control,cognos,cognos-10,cognos-bi,Version Control,Cognos,Cognos 10,Cognos Bi,我正在尝试通过命令行导出各个Cognos报告,以便在Git中按报告级别对源代码进行版本控制。我假定XML将是输出格式 我读到CognosSDK可以提供帮助,但您需要构建自己的解决方案,这可能是可能的,但这个用例感觉像许多其他人已经想要的东西,而且已经有了工具 当然,还需要导入单个报告 有人能帮忙吗 谢谢。您可以使用像这样的公司提供的工具。使用免费版本,您可以导出报告的XML,但只能逐个导出 您还可以使用Cognos部署的报告生成一个包含报告XML的zip文件,但是所有报告都在同一个文件中,您必须

我正在尝试通过命令行导出各个Cognos报告,以便在Git中按报告级别对源代码进行版本控制。我假定XML将是输出格式

我读到CognosSDK可以提供帮助,但您需要构建自己的解决方案,这可能是可能的,但这个用例感觉像许多其他人已经想要的东西,而且已经有了工具

当然,还需要导入单个报告

有人能帮忙吗


谢谢。

您可以使用像这样的公司提供的工具。使用免费版本,您可以导出报告的XML,但只能逐个导出


您还可以使用Cognos部署的报告生成一个包含报告XML的zip文件,但是所有报告都在同一个文件中,您必须手动提取各个报告的XML。

我发现SDK很麻烦,而且,当我让它工作时,速度很慢

是的,报告规范是XML

我已经创建了一个过程,它可以产生您所要求的输出。以下是它所涉及的内容:

用于获取报告的递归公共表表达式CTE查询 规范以及在Cognos中看到的文件夹结构。 用于运行查询并将结果写入文件系统的PowerShell脚本。 另一个PowerShell脚本,用于从远程git repo提取当前内容,运行第一个PowerShell脚本,然后添加、提交并将结果推送到远程git repo。 我还编写了一个PowerShell脚本来执行与git push相关的操作。这涉及到使用一个我发现的名为HTMLTidy的程序,该程序可用于使XML具有可读性。这有助于解决git中的差异。我使用TFS,因此如果我整理了XML,就会得到一个很好的并排差异。否则,它告诉我XML的唯一一行已经更改

我最近添加了仪表板探索和数据集dataSet2的输出。仪表盘存储为JSON,因此我的例程必须在PowerShell中整理这一简单的数据

我每天运行例行程序,从过去3天中获取新的和修改的内容以防万一,每周进行一次完整的转储以捕获删除。每周的过程大约需要六分钟。日常过程可以忽略不计

在您提问之前:我不愿意提供实际代码,因为我不能对您的系统承担任何责任

更新:

不建议对Content Store数据库进行黑客攻击,IBM也不支持这种攻击

供参考/比较:我在Windows 2012 R2的IIS上运行IBM Cognos 11.0.7,在MS SQL Server 2016上运行Content Store数据库。您的系统可能不同

额外资源

如果你的最终目标是版本控制谁改变了什么,什么时候?你应该调查MotioCI。上次我查看时,没有免费版本的motio。

我来看看motio。我们知道我们可以批量导出所有报表,但未来的想法是开发人员引入或修改报表,然后仅提取该报表并对其进行版本控制。您必须只有少数开发人员。这个过程听起来像是手工操作,容易出错或遗漏。如果您正沿着这条路走下去,那么您应该让报表开发人员在git中维护他们自己的内容。如果你有几百个像我一样的报表开发人员,那么自动化流程就成了一项要求。谢谢,很高兴看到你已经能够构建一些东西,但是没有代码,这是非常无用的。然后使用MotioPI、MotioCI或MetaManager。这通常是个问题,对吗?我有时间开发这个解决方案吗,还是应该花钱?