0

Crystal Reports .rpt ファイルから PDF を生成しようとして.Open()いますが、「サーバー %MACHINENAME% への接続に失敗しました。Crystal Reports は私の得意分野ではなく、アプリケーションの主な機能の周辺にある」というメッセージが表示されて呼び出しが失敗します。 (ASP.NET イントラネット アプリ)。

ReportAppServer 名前空間から ReportClientDocument クラスを使用しています。これは、レポートを開こうとしているコードの一部です。

        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();
            }
        }

レポート ファイルはリモート (BOEXI) サーバーにありますが、.rpt ファイルを自分のマシンにコピーしても役に立ちません。

私が得る例外の全文は次のとおりです。

サーバー "%MACHINENAME%" への接続に失敗しました。Windows Sockets API getaddrinfo からエラーが返されました: 11001。

4

1 に答える 1

0

Crystal でレポートを開き、レポートの実行時にエラーが発生するかどうかを確認します。レポートが表示されない場合は、データベースに再接続する必要があります。

于 2012-08-02T22:46:59.830 に答える