如何在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条回答
昵称总是被占用
2020-09-10 00:39

嗨,埃里克·哥兹,

您的报表或子报表使用同一数据库吗? 如果是这样,使用ODBC驱动程序会容易得多。 使用SetDatabaseLogon()函数设置主报表以及所有子报表的登录。

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")

$ report.SetDatabaseLogon(" UserName"," Password")

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

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

$ report.close()

扎克


一周热门 更多>