我的同事正在更改我正在开发的报告中使用的子报告。由于我收到了最新的更改,因此我的报告显示以下错误代替子报告:
Data retrieval failed for the subreport, 'sub1', located at: /sub1. Please check the log files for more information.
这些变化太多,无法在此处发布或描述。参数已更改。大量的格式更改,表达和值更改等。
VS在错误窗口中显示:
Warning 1
[rsErrorExecutingSubreport] An error occurred while executing the subreport 'sub1' (Instance: 401iT1R0R0R0x0S0):
Data retrieval failed for the subreport, 'sub1', located at: /sub1.
Please check the log files for more information.
[rsNone] Data retrieval failed for the subreport, 'sub1', located at: /sub1.
C:\Workspace\Reports\Statement.rdl 0 0
但是当我将报告上传到部署子报告的服务器时,报告工作正常。该同事编写了另一份报告,其中使用了该子报告。该报告在服务器和计算机上都能正常工作,但在我的机器上却无法正常工作。
如果我尝试自己运行子报告,则会显示错误:
An error occurred during local report processing.
An error occurred during report processing.
此报告使用了我的同事开发的另外4个子报告,所有这些报告都在报告上显示,并在本地或服务器上单独运行。
我应该检查哪些项目?不熟悉这种情况通常是相反的 - 在本地工作但不在服务器上工作。谢谢!
答案 0 :(得分:0)
在过去几个小时内问题升级到我的同事的机器后,同事刚刚找到了解决方案:打开子报告,转到报告数据选项卡,编辑数据源,转到到凭据,切换到"使用此用户名和密码"到"提示凭据",然后切换回来,单击确定按钮,切换到预览并看到子报告正常工作。
这不会进行更改并且不需要保存,但它修复了VS2012可能在内部创建并保存在注册表或内部文件中的任何错误(从删除 var DB = new Array();
function MakeDB() { DB = CSV.split('\n'); }
function CSVsearch(dbInfo) {
var posn = -1;
for (i=0; i<DB.length; i++) {
tmp = DB[i];
if (tmp.indexOf(dbInfo) != -1) { posn = i; break; }
}
if (posn == -1) { alert('No matching result from the file'); }
else { document.getElementById('tblDisplay').innerHTML = displayAsTable(DB[posn]); }
}
function displayAsTable(info) {
var table = '<table border="1" width="75%" bgColor="F5F5F5" borderColor="FFFFFF">';
var ary = info.split(',');
table += '<tr align="left"><th align="left">'+ary.join('</tr><th align="left">')+'</td></tr>';
table += '</table>';
return table;
}
function resetthis() {
document.getElementById("myForm").reset();
文件的事实可以看出,重启VS或重启机器无法修复错误情况。)