我正在尝试找出如何通过命令行导出单个Cognos Reports的目的,以便在Git中按报告级别进行源版本控制。我认为XML将是输出格式。
我了解到Cognos SDK可以提供帮助,但是您需要构建自己的解决方案,这可能是可行的,但是这种用例感觉就像许多其他人已经想要的一样,并且已经有了工具。
当然,也需要导入单个报告。
有人可以在这里帮忙吗?
谢谢。
答案 0 :(得分:0)
您可以使用http://www.motio.com等公司提供的工具。使用免费版本,您可以导出报告的XML,但只能一个接一个地导出。
您还可以使用报告的Cognos部署来生成带有报告XML的zip文件,但是所有报告都在同一文件中,并且您将需要手工提取单个报告的XML。 / p>
答案 1 :(得分:0)
我发现该SDK很麻烦,而且当我开始使用它时,速度很慢。
是的,报告规范是XML。
我创建了一个过程,该过程产生的输出与您要求的一样。涉及的内容如下:
我还编写了一个PowerShell脚本来执行与git push相关的操作。这涉及使用我发现的名为HTML Tidy(http://tidy.sourceforge.net/)的程序,该程序可用于使XML易于阅读。这有助于git中的差异。我使用TFS,所以如果整理XML的话我会得到一个不错的并排差异。 (否则,它告诉我XML的唯一一行已更改。)
我最近添加了仪表板(探索)和数据集(dataSet2)的输出。仪表板存储为JSON,因此我的例程必须对其进行整理(在PowerShell中很简单)。
我每天运行例行程序,从最近3天(以防万一)中获取新内容和修改过的内容,并每周进行一次整个转储(以捕获删除的内容)。每周的过程大约需要六分钟。日常过程可以忽略不计。
在您提出以下要求之前:由于我对您的系统不承担任何责任,因此我会提供实际的代码。
更新:
不建议随意使用Content Store数据库,IBM不支持。
供参考/比较:我在Windows 2012 R2上的IIS上运行带有IBM SQL Server 2016上的Content Store数据库的IBM Cognos 11.0.7。您的系统可能有所不同。
其他资源
https://www.cognoise.com/index.php/topic,28289.msg113869.html#msg113869
https://www.cognoise.com/index.php/topic,17411.msg50409.html#msg50409
https://docs.microsoft.com/en-us/powershell/scripting/overview?view=powershell-6
https://docs.microsoft.com/en-us/sql/t-sql/language-reference?view=sql-server-2017
https://git-scm.com/docs
http://tidy.sourceforge.net/
答案 2 :(得分:0)
如果最终游戏是版本控制(谁在何时更改了内容?),则应研究MotioCI。上次查看时,没有MotioCI的免费版本。