如何在Crystal Decisions中使用Powershell

2020-09-10 00:13发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我想将Powershel...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我想将Powershell与Crystal Decisions一起用于导出Crystal报表。 不幸的是,我遇到了一个问题。
如果我在保存报表时未保存数据以强制使用新参数更新报表,则会出现以下错误:

我猜想这与连接sybase数据库有关,因为当我用包含已保存数据的报告运行脚本时,它会起作用。

有人知道这种行为吗?

谢谢!

CRRuntime_64bit_13_0_12

2008年晶体报告

我的代码:

Param(

[string] $ FirstName1

[reflection.assembly] :: LoadWithPartialName('CrystalDecisions.Shared')

[reflection.assembly] :: LoadWithPartialName('CrystalDecisions.CrystalReports.Engine')

$ report =新对象CrystalDecisions.CrystalReports.Engine.ReportDocument

$ report.Load(" C:\ Users \ geservice \ Desktop \ shell \ Textbefund.rpt")


foreach($ report.Database.Tables中的$ Table)

{

$ table

$ tli = $ Table.LogonInfo

$ li = $ tli.ConnectionInfo

写主机"位置:$($ table.location)"

$ li.ServerName =" myserver"

$ li.DatabaseName =" mydb"

$ li.UserID ="用户"

$ li.Password ="密码"

$ Table.ApplyLogOnInfo($ tli)

$ table.location

}

$ report.SetParameterValue(" FirstName",$ FirstName1)

$ report.ExportToDisk("文本"," C:\ Users \ geservice \ Desktop \ shell \ Textbefund.txt")

$ report.close()

error.jpg (57.8 kB)
8条回答
暮风yp
2020-09-10 00:56

嗨,埃里克,

您收到的错误与您已经分析的错误不符。 如果ExportToDisk中的路径不正确,则将无法首先找到报告,因为它们位于同一文件夹中。 如果路径错误,则在尝试打开报告时会出错。

如果报表使用已保存的数据但在您尝试刷新数据时失败,那么我认为这是参数传递而不是登录问题,这是问题所在。 我们可以通过运行不带参数的报告并查看它是否登录并导出报告来进行测试。

您的LogonInfo看起来正确,并且您正在为每个表调用ApplyLogonInfo。 因此,我将查看SetParameterValue是否正常工作。 您的通话顺序正确。


如果文本文件已经存在,并且无法覆盖旧文件,导出是否会失败? 如果已经保存了导出文本文件的副本,是否可以将其锁定,并且在尝试替换它时失败?


祝你好运

Brian

一周热门 更多>