我正试图从crystal reports.rpt文件生成PDF,但对.Open()
的调用失败,并显示消息"无法连接到服务器%MACHINENAME%。crystal reports不是我的强项,对我们的应用程序的主要功能(ASP.NET Intranet应用程序)来说有点外围,所以请告诉我是否偏离了这里的路径。
我在ReportAppServer命名空间之外使用ReportClientDocument类,这是我试图打开报表的代码部分
m_boRptFile = @"\pathtoreport179c7144d118b715b.rpt";
try
{
var path = (object)m_boRptFile;
if (impersonateValidUser("username", "domain", "password"))
{
if (File.Exists(m_boRptFile))
{
FileInfo f = new FileInfo(m_boRptFile);
FileStream fs = f.OpenRead();
if (fs.CanRead)
m_boReportClientDocument.Open(ref path, (int)CdReportClientDocumentOpenOptionsEnum.cdReportClientDocumentOpenAsReadOnly);
}
undoImpersonation();
}
}
报告文件在远程(BOEXI)服务器上,但将.rpt文件复制到我的机器上也没有帮助。
我得到的异常的全文是:
无法连接到服务器"%MACHINENAME%"。从返回错误Windows套接字API获取地址信息:11001。
在crystal中打开报告,查看运行报告时是否出现错误。如果报告没有,则必须重新连接到数据库。