报表环境问题整理.docx
《报表环境问题整理.docx》由会员分享,可在线阅读,更多相关《报表环境问题整理.docx(51页珍藏版)》请在冰点文库上搜索。
报表环境问题整理
一报表环境问题
1检查报表环境问题流程
首先到portal\ubflib\fig.然后看这个文件中的报表服务器的版本是否正确,报表服务器的名称是否正确。
如果这个检查没错,RUL能正常访问的话,基本说明报表服务器是正常的。
但不能说明报表服务器上的U9相关的信息是配置正确的。
IE中访问这个URL的结果应该和下图差不多
如果显示不出来,需要远程到报表服务器上查看报表服务本身的配置,还要结合报表服务器的日志来查看问题。
微软报表管理器的位置:
打开后先连接服务器
注意选择正确的报表服务器实例.
2提示找不到ufrpt
运行报表时提示找不到ufrpt,查看配置文件中有该配置项。
问题原因:
没有使用安装工具配置U9的报表
缺少 UFSoft.UBF.Report.DataProviderForRS.dll 也会报这个错。
这个问题已经远程解决。
问题原因是在微软的报表配置工具中配置了执行账户。
把这个账户删除就可以了。
在下面的界面上去掉指定账户复选框,然后点击应用。
最后重启一下报表服务就可以了。
以后遇到该问题(无法加载表达式宿主程序集。
详细信息:
未能加载文件或程序集“UFSoft.UBF.Report.Base, Version=21.5401.8426.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。
拒绝访问)
就按照这个办法解决,请知晓。
3u9apppool\u9apppoolclr权限不足
另外一处问题是报u9apppool\u9apppoolclr权限不足。
不太清楚如何设置u9apppoolclr4权限,暂时将U9应用程序池换成iis默认的clr4应用程序池解决了。
解决办法:
4联查找不到项u9report_default_drillReport
解决办法:
9201208100066
5如何删除报表数据缓存
操作方式:
在报表菜单中选择环境配置->其他页签(如下图:
)
上图中点击 删除报表服务器报表打印缓存 按钮
在下面的界面中输入报表服务器,点击链接。
6配置了SSL的问题
1.运行报表时提示正在执行的操作需要安全的连接,如下图:
如果启用了SSL,对报表服务的请求就变成了https:
//localhost/reportserver
而不是http:
//localhostreportserver
这时你的portal\UBFLib\U9ReportSetting.config中连接没有变过来,还是http:
//localhostreportserver,这样的话就会报错。
错误信息:
需要安全连接:
每次发出的请求都是https:
//machinename\reportserver(都加了一个s)
解决办法:
打开 ReportingServices\ReportServer\rsreportserver.config,找到把Value的值改为0,保存后重启报表服务器。
或者重新使用报表配置工具来进行配置。
7报表服务器无法打开与报表服务器数据库的连接
[UFSoft.UBF.Report.ReportServerException:
System.Web.Services.Protocols.SoapException:
报表服务器无法打开与报表服务器数据库的连接。
所有请求和处理都要求与数据库建立连接。
--->
Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerDatabaseUnavailableException:
报表服务器无法打开与报表服务器数据库的连接。
所有请求和处理都要求与数据库建立连接。
--->System.Data.SqlClient.SqlException:
用户'U9DOMAIN\u9kongwy1'登录失败。
从红色字体部分可以知道 ,是报表服务器和数据库连接不上。
也就是报表配置管理工具中的 服务帐户和数据库连接不上,需要到 Sqlserver中用户中添加该用户,并给予 sysadmin权限(sa权限)
对于SQL2005,在windows的administrator组中加入域用户后,数据库会自动将这个域用户的权限加入数据库中;
对于SQL2008,在windows的administrator组中加入域用户后,数据库不会将这个域用户的权限自动加入数据库中,也就是说无法直接用域
用户登录SQL2008;
解决:
对于SQL2008,在windows的administrator组中加入域用户后,需要在数据库的登录用户中加入这个域用户。
8报表服务器密钥问题
Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerDisabledException:
报表服务器无法解密用于访问报表服务器数据库中
的敏感数据或加密数据的对称密钥。
必须还原备份密钥或删除所有加密的内容。
--->System.Runtime.InteropServices.COMException:
不正确的数据。
(异常来自HRESULT:
0x80090005)
报表配置管理工具中密钥删除不了时,可以先选择更改密钥,然后删除
这个问题已经解决了。
在报表服务器的配置工具(微软的工具)上删除加密密钥就可以了。
我后续把常见问题做个总结吧。
PageURL:
/Portalv25/erp/display.aspx?
lnk=SCM.SD.SDI010_10&Function=2&sId=3015nid&__fsk=__SK7522*__SK7522&__curOId=1001106195500901&mId=1001101160311922
堆栈信息:
[Microsoft.Reporting.WebForms.ReportServerException:
报表服务器遇到配置错误。
(rsServerConfigurationError)]
[Microsoft.Reporting.WebForms.ReportServerException:
无法解密“Dsn”配置设置的加密值。
(rsFailedToDecryptConfigInformation)]
在Microsoft.Reporting.WebForms.ServerReport.LoadReportDefinition(TextReaderreport)
在UFSoft.UBF.Report.UI.ReportView.Web.ReportViewWebControl.SetReportViewerTemplate(ServerReportserverReport,ReportreportTempalte,FilterValuesfilterValues)
在UFSoft.UBF.Report.UI.ReportView.Web.ReportViewWebControl.PreapareTemplateforRemoteProcess(ReportViewerreportViewer)
在UFSoft.UBF.Report.UI.ReportView.Web.ReportViewWebControl.PrepareTemplateToRender(ReportViewerreportViewer)
在UFSoft.UBF.Report.UI.ReportView.Web.ReportViewWebControl.CreateChildControlHericky()
在UFSoft.UBF.Report.UI.ReportView.Web.ReportViewWebControl.OnLoad(EventArgse)
在System.Web.UI.Control.LoadRecursive()
在System.Web.UI.Control.LoadRecursive()
在System.Web.UI.Control.LoadRecursive()
在System.Web.UI.Control.LoadRecursive()
在System.Web.UI.Control.LoadRecursive()
在System.Web.UI.Control.LoadRecursive()
在System.Web.UI.Control.LoadRecursive()
在System.Web.UI.Control.LoadRecursive()
在System.Web.UI.Control.LoadRecursive()
在System.Web.UI.Page.ProcessRequestMain(BooleanincludeStagesBeforeAsyncPoint,BooleanincludeStagesAfterAsyncPoint)
9RS2005报表服务无效问题:
原因:
IIS有问题。
应用程序池停止服务了。
重启即可
报表配置问题:
报表没有正确配置。
配置报表只要ReportServer可以访问就可以,Reports不能访问应该也可以。
WebServiceAccount没有正确配置(原因待查)
[UFSoft.UBF.Report.ReportServerException:
System.Web.Services.Protocols.SoapException:
报表服务器Web服务无法访问报表服务器中的安全信息。
请验证在报表服务器配置文件中正确指定了
WebServiceAccount,Microsoft.ReportingServices.Diagnostics.Utilities.AccessDeniedToSecureDataException:
报表服务器Web服务无法访问报表服务器中的安全信息。
请验证在报表服务器配置文件中正确指定了WebServiceAccount。
10无效身份扩展插件为NULL
无效身份扩展插件为NULL,如下图所示:
问题原因:
报表配置失败了,根据经验是由于在使用报表配置工具配置报表时,由于要修改报表服务器上的配置文件,但该文件被其他进程占用,导致报表配置没有完成。
配置报表前,先停止报表服务。
关掉自动启动的U9的服务,手工启动服务(位置:
UFIDA\U9\PortalMR\SysManageServer\ServiceHostingConsole.exe),重新配置报表,通过输出的日志来查看哪个文件被占用了。
如果配置过程中没有发现错误,说明配置成功了。
重启IIS后再次尝试登陆Portal,查看报表。
11无法解析PfReport
无法解析PfReport,如下图:
http:
//u9blog/u9blog/post/2012/07/31/运行报表时-提示-无法解析-PfReport.aspx
解决办法:
由于 Pfreport是U9内部的一个服务器,我们的产品构造出来后,默认指向pfreport,这个服务器,请运行报表配置工具来重新配置报表,完成后,重新启动IIS。
注意配置前最好备份一下报表服务器目录ReportingServices
12上传文件时提示错误
运行报表配置时提示下面的错误,见下图:
查看此all.log文件,提示:
[4][ ][16:
37:
07][ERROR:
][UFIDA.UBF.SystemManage.SystemManagerLogger] -由于下列文件的版本比服务器低,导致文件上传失败,请检查文件路径是否正确.
UFIDA.U9.AP.APBE.dll;UFIDA.U9.CBO.FIBE.Deploy.dll
;UFIDA.U9.CBO.FIBE.dll
;UFIDA.U9.CBO.HRBE.dll
这种问题都是由于报表服务器上的DLL版本比要打的补丁中的DLL高,校验不通过,请到报表服务器上把这些DLL删除后重新进行配置。
上面的错误是由于路径中包含了all.log目录导致。
13关于报表配置工具和补丁工具的使用说明
报表配置工具用于在第一次安装时使用,这里的DLL都是发版本时的。
打了补丁后不会把DLL拷贝到这个目录下。
Sp3的版本中没有版本校验,如果再打的话,会把发版时的DLL拷贝上去,会出问题的。
补丁工具:
把提供的补丁拷贝到报表服务器上。
同时会做备份,回滚时会把 备份的 DLL拷贝回去。
但以前的版本回滚有问题。
新发的补丁已经解决。
打补丁时会在App服务器上建立一个文件夹,这里包含所有最新的补丁。
UFIDA\U9\Portal\ClientSystemManage\ReportServerLib(打补丁时自动创建).如果发生版本问题,可以从这里拷贝最新的DLL到报表服务器上。
14“/”应用程序中的服务器错误。
当前标识(NTAUTHORITY\NETWORKSERVICE)没有对“C:
\WINDOWS\Microsoft.NET\Framework\v2.0.50727\TemporaryASP.NETFiles”的写访问权限。
解决方法:
C:
\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis-i-enable
2.访问http:
//localhost/reporserver提示此网站要求您登录
此错误(HTTP403禁止)意味着InternetExplorer可以连接到该网站,但是没有查看该网页的权限。
HTTP错误403-禁止访问,表示这个网站需要相应的权限才能够被正常的访问。
此权限涉及到的安全内容也很多,比方说读、写、执行权限,访问用户身份验证,IP地址限制,安全证书验证等等,多数时候是因为服务器端设置不正确
IIS安装后,显示此网站要求您登录,403错误。
解决:
设置网站匿名访问即可
说明:
配置报表只要ReportServer可以访问就可以,Reports不能访问应该也可以。
访问任何报表都会跳转到网址纠错的网站。
问题原因:
报表服务器的URL错了,导致无法解析就会跳转过去。
15报表数据权限不起作用
报表数据权限问题:
http:
//u9blog/u9blog/post/2012/03/29/关于报表的属性权限不起作用的问题的说明.aspx
如果发现报表的数据权限不起作用,请检查一下报表服务器中的配置文件ReportingServices\ReportServer\bin\UBFEngineHosting.dll.config中是否缺省下面两项:
如果没有的话,报表数据权限可能不会起作用。
请添加,并重启一下报表服务器。
16UBF登陆报错
UBF登陆时提示错误:
ConnectionString:
UserId=sa;Password=ma-1111;DataSource=KENT-PC;InitialCatalog=NYU9V21;packetsize=4096;MaxPoolsize=100;ConnectionTimeout=900;persistsecurityinfo=True;MultipleActiveResultSets=true;
从字符串转换日期和/或时间时,转换失败。
经过跟踪发现:
SQL如下:
select a.ID,a.Code,b.Name from Base_Organization a,Base_Organization_Trl b where a.Effective_IsEffective=1 and a.Effective_EffectiveDate<='2012/4/10 星期二 0:
00' and a.Effective_DisableDate>='2012/4/10 星期二 0:
00' and a.ID=b.ID and b.SysMLFlag='zh-CN'
这个是 stringloginDate=DateTime.Today.ToShortDateString()+""+DateTime.Today.ToShortTimeString(); 取出的。
这是操作系统区域设置里设置错了》
应该把长日期格式改成:
yyyy'年'M'月'd'日'
17报表配置时刷不出报表服务器:
问题原因:
首先看注册表里的 Key是否正确。
然后看报表配置是否正确。
18关于导出PDF时报已经添加了相同的键的异常
解决办法:
打最新的报表补丁。
调用堆栈信息
当发生此问题时,报告服务日志文件中会记录类似于下面的信息的调用堆栈:
reportrendering!
ReportServer_0-4!
8cc!
:
eERROR:
ThrowingMicrosoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException:
Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException:
Anerroroccurredduringrenderingofthereport.--->Microsoft.ReportingServices.OnDemandReportRendering.ReportRenderingException:
Anerroroccurredduringrenderingofthereport.--->System.ArgumentException:
Anitemwiththesamekeyhasalreadybeenadded.
atSystem.ThrowHelper.ThrowArgumentException(ExceptionResourceresource)atSystem.Collections.Generic.Dictionary`2.Insert(TKeykey,TValuevalue,Booleanadd)atSystem.Collections.Generic.Dictionary`2.Add(TKeykey,TValuevalue)atMicrosoft.ReportingServices.Rendering.HPBProcessing.TextBox.WriteStartItemToStream(RPLWriterrplWriter,PageContextpageContext)atMicrosoft.ReportingServices.Rendering.HPBProcessing.TextBox.AddToPage(RPLWriterrplWriter,PageContextpageContext,DoublepageLeft,DoublepageTop,DoublepageRight,DoublepageBottom,RepeatStaterepeatState)atMicrosoft.ReportingServices.Rendering.HPBProcessing.Tablix.RowInfo.AddToPageContent(ScalableList`1columnInfo,Int32&colsOnPage,BooleanisLTR,BooleanpinnedToParentCell,RPLWriterrplWriter,PageContextpageContext,DoublepageLeft,DoublepageTop,DoublepageRight,DoublepageBottom,RepeatStaterepeatState)atMicrosoft.ReportingServices.Rendering.HPBProcessing.Tablix.AddToPage(RPLWriterrplWriter,PageContextpageContext,DoublepageLeft,DoublepageTop,DoublepageRight,DoublepageBottom,RepeatStaterepeatState)atMicrosoft.ReportingServices.Rendering.HPBProcessing.PageItemContainer.AddToPage(RPLWriterrplWriter,PageContextpageContext,DoublepageLeft,DoublepageTop,DoublepageRight,DoublepageBottom,RepeatStaterepeatState)atMicrosoft.ReportingServices.Rendering.HPBProcessing.PageItemContainer.AddToPage(RPLWriterrplWriter,PageContextpageContext,DoublepageLeft,DoublepageTop,DoublepageRight,DoublepageBottom,RepeatStaterepeatState)at
19恢复V25上传功能的配置文件
在系统管理工具客户端。
删除或者重命名就可以了
UFIDA.UBF.SystemManage.InstallVersion.xml
20访问报表出现未验证错误(401错误)
请在系统管理工具中重新为报表设置账号:
这个账号是报表管理员的域账号,如果没有域可以不填。
点击两次确定,关闭该窗口。
双击web服务器,打开
选择好报表服务器后,点击确定关闭该窗口,然后重启一下应用服务器的IIS试试。
下图的问题应该是报表URL访问不正常导致。
请检查服务器名称,版本是否正常,如果没错的话就需要分析报表服务器本身的问题了。
21访问datacommand报权限不足