如何通过SDK启动Crystal Reports Server?

2020-09-09 00:18发布

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

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


在某些例外情况下,我需要能够启动Crystal Reports服务器。 我碰到了这个链接:

https: //answers.sap.com/questions/12464613/crystal-server-2013-error-not-enough-memory-for-op.html

SAP负责人说:"您应该能够使用Monitoring来跟踪服务器的状态。然后,当状态显示为挂起时,您可以使用SDK停止并重新启动。"

如何使用SDK停止并重新启动?

我正在使用C#Crystal Reports 2011 RAS SDK。

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

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


在某些例外情况下,我需要能够启动Crystal Reports服务器。 我碰到了这个链接:

https: //answers.sap.com/questions/12464613/crystal-server-2013-error-not-enough-memory-for-op.html

SAP负责人说:"您应该能够使用Monitoring来跟踪服务器的状态。然后,当状态显示为挂起时,您可以使用SDK停止并重新启动。"

如何使用SDK停止并重新启动?

我正在使用C#Crystal Reports 2011 RAS SDK。

付费偷看设置
发送
7条回答
Haoba3210
1楼-- · 2020-09-09 00:48

啊,太可惜了,离开的那个人并没有很好地留下您所需要的信息...我都不知道他们两个人... CIC离开是不正常的 你挂了,尽管那时候有问题。

我建议也与您的客户经理联系以解决问题...

转到此处,页面右侧会显示一个聊天链接...

https://www.sap.com/support.html

如果您打开一个可以正常工作的项目以显示操作方法,这会容易得多,但是由于您无法尝试将这些添加到项目中,所以:

使用CrystalDecisions.Windows.Forms;
 使用CrystalDecisions.ReportAppServer.ClientDoc;
 使用CrystalDecisions.ReportAppServer.ReportDefModel;
 使用CrystalDecisions.Enterprise.Desktop;
 使用CrystalDecisions.ReportAppServer.DataDefModel;
 使用CrystalDecisions.ReportAppServer.Controllers;
 使用CrystalDecisions.CrystalReports.Engine;
 使用CrystalDecisions.Shared;

 这是查询CR报告的示例:

 私有无效btnListReports_Click(对象发送者,EventArgs e)
 {
     CrystalDecisions.Enterprise.SessionMgr sessionMgr =新的CrystalDecisions.Enterprise.SessionMgr();
     CrystalDecisions.Enterprise.EnterpriseService企业服务;
     CrystalDecisions.Enterprise.EnterpriseSession enterpriseSession;

     CrystalDecisions.Enterprise.InfoObjects infoObjects;
     CrystalDecisions.Enterprise.InfoStore infoStore;

     btnReportObjects.Text + =" \ n已连接到BOE服务器-";
     btnReportObjects.AppendText(btrDataFile.Text +"-获取报告列表******请等待****** \ n");
     btnReportObjects.Update();

     尝试
     {
         如果(ChkLocalHost.Checked)
             btrDataFile.Text = System.Environment.MachineName +":6400";
     }
     抓住(前例外)
     {
         MessageBox.Show(" ERROR:" + ex.Message);
        //返回;
     }

     尝试
     {
         如果(ChkLocalHost.Checked)
             enterpriseSession = sessionMgr.Logon(btrFileLocation.Text,btrPassword.Text,System.Environment.MachineName +":6400",btrSearchPath.Text);
         其他
             enterpriseSession = sessionMgr.Logon(btrFileLocation.Text,btrPassword.Text,btrDataFile.Text,btrSearchPath.Text);

         enterpriseService = enterpriseSession.GetService(" InfoStore");
         infoStore =新的CrystalDecisions.Enterprise.InfoStore(enterpriseService);
     }
     抓住(前例外)
     {
         MessageBox.Show(" ERROR:" + ex.Message);
         返回;
     }

     enterpriseService = enterpriseSession.GetService(" InfoStore");
     infoStore =新的CrystalDecisions.Enterprise.InfoStore(enterpriseService);
     infoObjects = infoStore.Query("从CI_INFOOBJECTS中选择SI_NAME,SI_ID,SI_GUID,而SI_KIND ='CrystalReport'");
    //ceinfoObjects = infoObjects;
     int BItboxManagedRptCount = 0;

     foreach(infoObjects中的CrystalDecisions.Enterprise.InfoObject IObj)
     {
         ManagedReportsListBox.Items.Add(IObj.ID +":" + IObj.Title.ToString());
         ++ BItboxManagedRptCount;
         tboxManagedRptCount.Text = BItboxManagedRptCount.ToString();
     }

    //此行应返回正在执行的并发报告数
    //int xxx = CrystalDecisions.CrystalReports.Engine.ReportDocument.GetConcurrentUsage();
     infoObjects = infoStore.Query("选择*从CI_SYSTEMOBJECTS,其中SI_PROGID ='CrystalEnterprise.Server'和SI_DESCRIPTION ='Crystal Reports 2016 Report Application Server'");
     CrystalDecisions.Enterprise.Desktop.Server currentServer =(CrystalDecisions.Enterprise.Desktop.Server)infoObjects [1];
     CrystalDecisions.Enterprise.Desktop.Server svr =(CrystalDecisions.Enterprise.Desktop.Server)currentServer;

     CrystalDecisions.Enterprise.Admin.ReportAppServerAdmin rptAppAdmin =(CrystalDecisions.Enterprise.Admin.ReportAppServerAdmin)svr.ServerAdmin;

     btnReportObjects.Text + =" \ nDoc Count:" + rptAppAdmin.CurrentDocumentCount;
     btnReportObjects.Text + =" \ nMax Num Records:" + rptAppAdmin.MaxNumOfRecords;
     btnReportObjects.Text + =" \ nMax报告作业:" + rptAppAdmin.MaxReportJobs;
     btnReportObjects.Text + =" \ nN个浏览记录数:" + rptAppAdmin.NumOfBrowsingRecords;


    //serverMetrics.CurrentDocumentCount.ToString();
    //btnReportObjects.Text + =" \ n打开连接:" + serverMetrics.CurrentDocumentCount.ToString()+" \ n";

    //现在列出了报告ID,因此此会话关闭-打开报告后将打开一个新会话
     enterpriseSession.Dispose();
 } 

一周热门 更多>