DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ActiveReportsでチャートコントロール入りのレポートが表示されない。

環境/言語:[WindowsXP/VB2008]
分類:[ASP.NET]

こんばんは、oniといいます。お世話になります。
現在ActiveReportsのWebViewerを用いてWebアプリケーションを作成していますが、チャートコントロールを含むレポートが表示されない現象に悩まされています。

テスト環境では意図通りに表示されるのですが、本番環境では「サーバーエラー 404 - ファイルまたはディレクトリが見つかりません。」
となってしまい表示されません。

試しにチャートコントロールを削除してみたところ、表示がされました。

 開発環境:
  OS:WindowsXp Pro
  開発ツール:VisualStudio2008
  言語:VisualBasic2008
  帳票ツール:ActiveReports for .NET 3.0J Professional

 テスト環境:
  OS:Windows Sever 2008(32bit)
  IIS:6.0

 本番環境
  OS:Windows Sever 2008(32bit)
  IIS:7.0

HTTPハンドラの設定は実施済みです。
現象の原因がまったくつかめない状況です。
考えられる事だけでも、ヒントをいただけると幸いです。

以上、どうぞよろしくお願いいたします。
■No32009に返信(oniさんの記事)
> 試しにチャートコントロールを削除してみたところ、表示がされました。
>
どこかでエラーが発生してませんか?(チャートコントロールの表示部分とか)
まずは、原因の切り分けをした方がいいかも。(自プログラム側、サーバーの設定)

「ActiveReports for .NET 3.0J Professional」関係とかで配布するべきファイルが足りないとはないですか?(当該ツールを本番環境にインストールしたら動くとか?(ライセンスには気を付けて))

テスト環境はクリーンインストールされた状態に復元してから使用しているのでしょうか。他の方が使用された後だと必要ファイルが既にインストールされている状態でたまにファイルの配布ミスに気づけずに客先であわてることがありますね。
■No32010に返信(aさんの記事)
> ■No32009に返信(oniさんの記事)
>>試しにチャートコントロールを削除してみたところ、表示がされました。
>>
> どこかでエラーが発生してませんか?(チャートコントロールの表示部分とか)
> まずは、原因の切り分けをした方がいいかも。(自プログラム側、サーバーの設定)

aさん、ご返答ありがとうございます。
ご連絡が遅くなりまして申し訳ありません。

イベントログなどの確認を行いましたが、Chartに関するdllが参照できない(見つからない)との エラーが出力されており、画面が表示できていませんでした。

> 「ActiveReports for .NET 3.0J Professional」関係とかで配布するべきファイルが足りないとはないですか?(当該ツールを本番環境にインストールしたら動くとか?(ライセンスには気を付けて))
>
> テスト環境はクリーンインストールされた状態に復元してから使用しているのでしょうか。他の方が使用された後だと必要ファイルが既にインストールされている状態でたまにファイルの配布ミスに気づけずに客先であわてることがありますね。

ActiveReportsに関するdllですが、

ActiveReports3.dll
ActiveReports.Viewer3.dll
ActiveReports.Chart.dll
ActiveReports.Interop.dll
ActiveReports.Web.dll

を参照設定として加えており、上記5つのdllが
参照先のbinフォルダ内に存在することも確認しております。

テスト環境はクリーンインストール状態ではないのですが、配布ファイルは上記と同じになっています。
上記でもしお気づきの事がございましたら、書き込みいただけますと助かります。

クリーンインストール状態の環境を用意するのは事情により難しそうなのですが、別の環境を使えないか検討したいと思います。
■No32039に返信(oniさんの記事)
> イベントログなどの確認を行いましたが、Chartに関するdllが参照できない(見つからない)との エラーが出力されており、画面が表示できていませんでした。
本来であればメーカーに相談すべき問題であるようにも感じますが、
バージョンが古いので、メーカー側のサポート期限(2010/08/31)も
過ぎてしまっていますね…。



> ActiveReportsに関するdllですが、
それらは、最新版(Service Pack 5)のもので統一されているのでしょうか。
また、サーバーライセンスは導入済みでしょうか。
ftp://ftp.grapecity.com/trial/


.NET 版は AR2 と AR7 しか使ったことがないので、必須DLLについては
把握していませんが、AR2 Trial を入手して、付属のヘルプを見たところ、
サテライトアセンブリとして、ja\ActiveReports.Chart.resources.dll 等が
揚げられていますが、これらは未使用なのでしょうか。


>>> 考えられる事だけでも、ヒントをいただけると幸いです。
エラーメッセージは 404 Not Found なのですよね。
AR3ヘルプの『HTTPハンドラおよびWebViewerを使用するための事前準備』にある
『[ファイルの存在を確認する]チェックボックスがOFFになっていることを確認します。』
は確認済みでしょうか。
■No32039に返信(oniさんの記事)
> イベントログなどの確認を行いましたが、Chartに関するdllが参照できない(見つからない)との エラーが出力されており、画面が表示できていませんでした。
>
そのイベントログに出ていたDLL(ファイル名が出力されていませんでしたか?)は本番環境にありましたか?
また、Pathが通っている場所に置かれていますか?

俺も製品を持っているわけではないので必須DLLについては把握しておりません。
ただ、
http://www.grapecity.com/tools/support/technical/knowledge_detail.asp?id=31591
を読むと製品ヘルプに書いてあるとのことでした。(多分エラーとしての類似性が高いと思います)
またはマニュアルに書いてあるかも。(「ファイルの配布について」として)
■No32040に追記(魔界の仮面弁士の記事)
>>>> 考えられる事だけでも、ヒントをいただけると幸いです。
> エラーメッセージは 404 Not Found なのですよね。

配置環境で SSL はお使いでしょうか。ActiveReports での経験では
無いのですが、以前、https 利用時において、Pragma: no-cache ヘッダーが
含まれていた場合、コンテンツによっては表示/利用できないという現象に
遭遇したことがあります。
http://support.microsoft.com/?id=323308


ViewerType は何をお使いですか?
RawHtml や AcrobatReader を指定した場合も同じエラーになりますか?

もしも ActiveXViewer をお使いだとしたら、ビューワコンポーネントの
配置もしくはバージョンに問題があるのかもしれません。
https://www.grapecity.com/tools/support/technical/knowledge_detail.asp?id=24105
https://www.grapecity.com/tools/support/technical/knowledge_detail.asp?id=30296
http://www.grapecity.com/tools/support/security/vulnerability_arv2.htm



■No32009に返信(oniさんの記事)
> テスト環境:
>   OS:Windows Sever 2008(32bit)
>   IIS:6.0
>  本番環境
>   OS:Windows Sever 2008(32bit)
>   IIS:7.0
上記のバージョンについて、もう一度確認してみ下さい。
自分の認識では、2008 + IIS6 という組み合わせは存在しないと思っています。

 IIS 6.0 … Windows Server 2003/2003 R2 (と、x64版 の XP)
 IIS 7.0 … Windows Server 2008 (と、Vista)
 IIS 7.5 … Windows Server 2008 R2 (と、Win7)
 IIS 8.0 … Windows Server 2012 (と、Win8.x)
 IIS 8.5 … Windows Server 2012 R2


あとは、今回はサーバー OS が同じとのことなので、設定に違いが無いかどうか、
iiscnfg /export コマンドや appcmd list config コマンドで抽出して
XML を比較する(あるいは他方にインポートする)などしてみるとか。
http://www.atmarkit.co.jp/fwin2k/win2ktips/839iisback/iisback.html
■No32043に返信(魔界の仮面弁士さんの記事)
aさん、魔界の仮面弁士さん、ご返答ありがとうございます。
再び返信が遅くなり申し訳ありません。

解決しましたので、ご報告させていただきます。

配置内容の詳細をお伝えできていなくて恐縮なのですが、実はアプリが3系統に分かれており、それぞれのwebconfigが競合していたのが原因と見られます。

(配置内容)
 app\webconfig
 app\aaa\webconfig
 app\bbb\webconfig
 app\ccc\webconfig

今回はaaaにあるアプリで問題が起こったのですが、
「app\webconfig」と「app\aaa\webconfig」に以下の内容を記述しておりました。

(記述内容)
****************************************************************
<add name="arcacheitem-isapi-2.0" path="*.arcacheitem" verb="*" modules="IsapiModule"
scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll"
resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
<add name="ar_rpx-isapi-2.0" path="*.rpx" verb="*" modules="IsapiModule"
scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll"
resourceType="File" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
<add name="ar_activereport_isapi-2.0" path="*.ActiveReport" verb="*" modules="IsapiModule"
scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll"
resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
****************************************************************

上位に当たる「app\webconfig」の記述を削除したところ、正常にレポートが表示されました。

色々お知恵をいただき本当にありがとうございました。

> 自分の認識では、2008 + IIS6 という組み合わせは存在しないと思っています。

すみません、IIS7でした。記述ミスをしてしましいました。。。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板