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。