"找不到可用的报表应用程序服务器。" -错误

2020-09-05 03:55发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在使用.net sdk从Vi...

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

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


我正在使用.net sdk从Visual Studio 2005连接到Crystal报表服务器XI R2。

在将Crystal Report Server从XI R2升级到Crystal Report Server 2008之前,我能够从.net应用程序成功运行报表。

现在,当我尝试从.net应用程序运行报告时,它可以很好地连接到Enterprise并可以正常检索报告,但是在代码附近失败

reportClientDocument = reportAppFactory.OpenDocument(infoObject.ID,0);

是否有办法使它正常工作? 任何建议都将不胜感激。

我的代码如下:

SessionMgr sessionMgr =新的SessionMgr();

EnterpriseSession enterpriseSession;

ReportAppFactory reportAppFactory;

ReportClientDocument reportClientDocument = new ReportClientDocument();

EnterpriseService enterpriseService;

InfoStore infoStore;

InfoObjects infoObjects;

InfoObject infoObject;

尝试

{

//设置CR服务器的名称

字符串crServerName = ConfigurationManager.AppSettings.Get(" CRServerName");

//设置用户ID以登录到CR服务器

字符串crUserID = ConfigurationManager.AppSettings.Get(" CRUserID");

//设置密码以登录到CR服务器

字符串crPwd = ConfigurationManager.AppSettings.Get(" CRPwd");

//设置用户标识以登录数据库

字符串dbUserID = ConfigurationManager.AppSettings.Get(" DBUserID");

//设置密码以登录数据库

字符串dbPwd = ConfigurationManager.AppSettings.Get(" DBPwd");

//设置连接信息以登录数据库

字符串dbServerName = ConfigurationManager.AppSettings.Get(" DBServerName");

//通过Crystal企业登录凭据

enterpriseSession = sessionMgr.Logon(crUserID,crPwd,crServerName," secEnterprise");

enterpriseService = enterpriseSession.GetService(" InfoStore");

infoStore =新的InfoStore(enterpriseService);

//传递报告名称进行查询,并将其传递给reportClientDocument

infoObjects = infoStore.Query("从CI_INFOOBJECTS中选择SI_ID,其中SI_NAME ='" + reportName +"'And SI_INSTANCE = 0");

infoObject = infoObjects [1];

//连接到RAS(报表应用服务器)

EnterpriseService tempService = enterpriseSession.GetService(""," RASReportFactory");

reportAppFactory =(ReportAppFactory)tempService.Interface;

reportClientDocument = reportAppFactory.OpenDocument(infoObject.ID,0);

//传递datbase登录凭据

reportClientDocument.DatabaseController.LogonEx(dbServerName,"",dbUserID,dbPwd);

2条回答
当学会了学习
2020-09-05 04:06

在服务器名称用户安全设置中为您的报告编写者组提供查看访问权限 :CrystalReports2013ReportApplicationServer

一周热门 更多>