2012-08-02 92 views
0

我試圖從Crystal報告.rpt文件生成PDF,並且對.Open()的調用失敗,並顯示消息「無法連接到服務器%MACHINENAME %Crystal Reports並不是我的專長,並且對我們的應用程序的主要功能(ASP.NET Intranet應用程序)有一定的外圍性,所以請告訴我,如果我在這裏的路上走的路線Crystal Reports生成PDF - 無法連接到服務器%MACHINENAME%

我正在使用ReportClientDocument ReportAppServer命名空間中的類,這裏是我試圖打開報告的代碼部分

 m_boRptFile = @"\\path\to\report\179c7144d118b715b.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(); 
      } 
     } 

報告fil e在遠程(BOEXI)服務器上,但將.rpt文件複製到我的機器也無濟於事。

的例外,我得到的全文是:

無法連接到服務器 「%MACHINENAME%」。從 返回的錯誤Windows套接字API getaddrinfo:11001.

+0

Winsock錯誤'11001'是'WSAHOST_NOT_FOUND',因此無法找到報告中指定的服務器(可能是數據庫連接)。 – 2012-08-02 16:40:38

+0

你有沒有想過這個? – Michael 2012-09-10 17:13:47

回答

0

打開Crystal中的報告,看看是否在出現報告時出現錯誤。如果報告沒有,那麼你將不得不重新連接到數據庫。