web-dev-qa-db-ja.com

IIS-のCrystalレポートの問題-(bobjは未定義、Crystalレポートは表示されません)

VS 2010.iでインストールされたCrystal Report 2010があり、ローカルホストで正常に動作するCrystalレポートを作成しましたが、問題はWebサイトをIISに公開すると表示されないことです。空白のページを表示します..rptファイルが存在しない場合でも、公開されたフォルダをチェックしました。この問題を解決する方法を教えてください。

18
chamara

解決

解決策は、IISこの方法で作業することです。

  • _aspnet_client_フォルダーを_c:\inetpub\wwwroot_フォルダーから新しいWebサイトのルートフォルダーにコピーします。

または(最初の方が簡単で、2番目の方がメンテナンスに適しています)

  • 仮想ディレクトリの作成 _aspnet_client_と呼ばれる_c:\inetpub\wwwroot\aspnet_client_を指す新しいWebサイト内

問題分析

問題を分析することは可能です

  • クライアントツール(ブラウザのデバッグウィンドウ)を使用

GET http://someserver:20080/aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/crv.js 403 (Forbidden)
GET http://someserver:20080/aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/images/style.css 403 (Forbidden)

  • またはサーバーツール(WIN2003ではIISログ、WIN2008では_%SYSTEMROOT%\System32\LogFiles\W3SVC###\_ _C:\inetpub\logs\LogFiles\W3SVC###_)。

2011-03-28 13:00:49 W3SVC701536 95.228.38.41 GET /aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/images/style.css-20080-192.168.1.2 Mozilla/5.0 +(compatible; + MSIE + 9.0 ; + Windows + NT + 6.1; + Trident/5.0)403 6 64エラー! 2011-03-28 13:00:49 W3SVC701536 95.228.38.41 GET /aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/crv.js-20080-192.168.1.2 Mozilla/5.0 +(compatible; + MSIE + 9.0; + Windows + NT + 6.1; + Trident/5.0)403 6 64エラー!

問題を引き起こす

Crystal Reportsランタイムはインストールされていますが、アプリケーションはデフォルトのWebサイトで実行されていません。

  • どちらの場合も、_crv.js_と_style.css_のいくつかのファイルが提供されないことがわかりました。
  • これらのファイルは、CRインストーラーによって_wwwroot\aspnet_client_フォルダーに配置されますが、何らかの理由でアクセスできません。
  • 私の場合、理由は異なるWebサイト(ポート20080)を作成し、aspnet_clientフォルダーがそのWebサイト内に配置されていない

異なるバージョンのソフトウェアと異なる構成を使用していることがわかりますが、同じ問題があると思います

33
Emanuele Greco

この問題を解決するのは困難でした。

私の構成はVS 2010、CR 14.0.2000.0バージョン、Window Server 2008 R2、IIS 7.です。解決策を得ました。ネットで提供されたほとんどすべての解決策を試しました。すべてのトリックを実装しました。最後に、web.configの次の行にコメントを付けてレポートを表示します。

<add key="ResourceUri" value="/crystalreportviewers13"></add>

これで、インストールしたものを1つずつ削除し、正確に必要なものを確認しています。

私は以下をすべて試しました:

  • CRRuntime_32bit_13_0_4およびCRRuntime_64bit_13_0_4のCRランタイムをインストールしました。
  • 後でCRRuntime_32bit_13_0_4を削除しましたが、まだ動作します。
  • Aspnet_clientフォルダーをWWWRootフォルダー内に配置しました。
  • Aspnet_clientフォルダーをアプリケーションフォルダー内に配置しました。

再起動IIS私が何かをしたとき。

3
Antony

この質問に対する最良の答えはこちらです!

http://social.msdn.Microsoft.com/Forums/en-US/vscrystalreports/thread/ef56​​f72b-7ede-47d8-ba9e-9e63b9ac02

  1. Web AppはDLL=もプロジェクトに結合するため、Web Application Project、No Website Projectを使用する必要があります。
  2. C:\ inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13をコピーします(-CRforVS_redist_install_32bit_13_0.exeのインストール時に取得します)(ProjectName/crystalreportviewers13など)

  3. これをweb.configにコピーします

3.1

<configSections>
<sectionGroup name="businessObjects">
  <sectionGroup name="crystalReports">
    <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
       <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
  </sectionGroup>
</sectionGroup>
  </configSections>

3.2

<businessObjects>
      <crystalReports>
        <rptBuildProvider>
          <add embedRptInResource="true" />
        </rptBuildProvider>
        <crystalReportViewer>
              <add key="ResourceUri" value="/crystalreportviewers13" />
      </crystalReportViewer>
      </crystalReports>
    </businessObjects>

3.4 FTPモードでWebアプリケーションを任意のフォルダーに公開し、この公開をWebサーバーにコピーしてテストします!

3
rochasdv

これが発生する信じられないほど単純な理由の1つは、サーバーが正しく構成されていないことです。つまり、サーバーの役割/ Windowsの機能の下にある一般的なHTTP機能で静的コンテンツが有効になりません。

Enabling Static content

1
reckface

マスターページまたはレポートをレンダリングするページで、この参照を水晶レポートjavascriptに追加します。

<script src='<%=ResolveUrl("~/crystalreportviewers13/js/crviewer/crv.js")%>'type="text/javascript"></script>

詳細については、以下のリンクをご覧ください。

Crystal Reports Bobjは未定義であり、bobj.isObjectはVisual Studio 2012および2013の関数ではありません

0
andrew bugembe

考えられるシナリオは、IISサーバーWebサイトがデフォルトでC:\ inetpub\wwwrootになっていないことです。これは、Crystalがaspnet_client\system_web\4_0_30319\crystalreportviewers13フォルダーにアプリケーションファイルをデフォルトでインストールする場所です。

可能な答えは、ウェブサイトの物理パスをc:\ inetpub\wwwrootに設定することです

0
Allan

Aspnet_clientフォルダーをC:\ inetpub\wwwrootから新しく作成したWebサイトのフォルダーにコピーすると、単純に問題を解決できます。たとえば、Webサイト名がTestWebsiteの場合、aspnet_clientフォルダーをTestWebsiteフォルダー内に配置します。 web.configで構成を変更する必要はありません。

0
Fahad Mahmood

他にできることは、「仮想アクセスパス」を変更することです。 Chromeのコンソールとネットワークビューを確認した後、アプリケーションがjsおよびcssリソースに到達していないことに気づきました。これはWebプロジェクトの名前に設定されているため、これを/そして、これはトリックをしました。

0
Ivan Trujillo

数時間のフラストレーションの後、私のために働いた解決策は次のとおりです(他の人が推奨するようにフォルダをコピーしても機能しないことを確認した後にこれらを行います)。

シナリオ: CrystalReportsViewerは空白のブラウザ画面を表示します(ビューアまたは空白のレポートページはありません)ソースを表示すると、そこにビューアコードがあるレポートコンテンツ全体が表示されます。

テスト:フォルダーの参照http://<server name>/aspnet_client/system_web/4_0_30319/crystalreportviewers13/images/buttonl.gif-画像が表示されない場合、それはcrystalreportsviewerがレポートを表示するときに直面する問題と同じです。

変更するIIS設定: IIS(7.0以上))でWebサイトのフォルダーを展開します。「aspnet_client」フォルダーを選択します。メインページで[認証]を選択します(機能ビュー)「匿名アクセス」を選択し、右ペインの「アクション」メニューを使用して有効にします(これはテスト目的のみで、後で無効にできます)メインペイン(「機能」ビュー)で「ハンドラーマッピング」を選択します右側のペインで[継承に戻す]をクリックします確認を求められたら元に戻します

もう一度テスト:フォルダーを参照します

少なくとも、このソリューションはどこにも文書化されていませんでした。

注: aspnet_clientフォルダーへの匿名アクセスを無効にすることを忘れないでくださいIIS上記のようにテストした場合)

0
user836107

私はこれが少し古い記事であることを知っていますが、私のような初心者はこれから助けを得ることができると思います。このコードをweb.configファイルに追加し、「crystalreportviewers13」フォルダーを「c:\ inetpub\wwwroot\aspnet_client」からルートディレクトリにコピーします

<configSections>
<sectionGroup name="businessObjects">
  <sectionGroup name="crystalReports">
    <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
       <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
  </sectionGroup>
</sectionGroup>
  </configSections>
<businessObjects>
  <crystalReports>
    <rptBuildProvider>
      <add embedRptInResource="true" />
    </rptBuildProvider>
    <crystalReportViewer>
          <add key="ResourceUri" value="/crystalreportviewers13" />
  </crystalReportViewer>
  </crystalReports>
</businessObjects>
0
Omar Sohel

私も同じ問題に直面していましたが、解決しました。 WebサイトがIISでホストされている場合、Web.configは以下の設定を持つ必要があります。

    <add key="ResourceUri" value="~/crystalreportviewers13"/>

WebサイトスルーがVisual Studioを介してホストされている場合

    <add key="ResourceUri" value="/crystalreportviewers13"/>
0
Nagesh Hugar

私の場合、アプリと機能を介してSAPクリスタルレポートランタイムエンジンを更新しました。開発サーバーでクリスタルレポートバージョン18を使用していました私はバージョンを取得しませんでした、インストールされた日付を取得しただけなので、最後のバージョンに更新しました...

0
Zakaria Abdalla

設定

<compilation debug="false">

web.configで私のために働いた。

0
xtds

私は最終的に、以下に説明するように、古いバージョンと修正バージョンでそれを手に入れました。開発サーバーでは、リンクを正確にたどること以外は、開発サーバーには当てはまらない「〜」が必要だからです。古いもの :

修正済み:

0
Mo Ibrahim

私はそれが数年前に尋ねられたことを知っています。しかし、 この方法 私のために働いた。これは、いつかこの種の問題に遭遇する人向けです。

32ビット環境でアプリケーションを作成し、64ビットに変更しました。 WebアプリケーションをIIS Webサーバー(現在の64ビット)にデプロイし、独自のアプリケーションプールを作成しました(「パイプラインモードの管理」を統合して)。

次に、このレポートの問題が発生したとき、リンクからの指示に従いました。 「パイプライン管理モード」をclassicに変更し、アプリケーションが機能しました。

0
Flash3

クリスタルレポートが存在するaspxファイルに以下のコードを追加します。

<script src="../../aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/crv.js" type="text/javascript" > 
</script>

また、aspnet_clientフォルダーをc:\ inetpub\wwwrootフォルダーから新しいWebサイトのルートフォルダーにコピーします。

この方法は、次の2つの問題を解決します。

  1. bobjは未定義です。
  2. Crystalレポートが表示されません。
0
SUHAIL AG

最初に、サーバー上のフォルダーにrptファイルを手動で公開します。動作する場合は、単に展開の問題です。クリックしたときのファイルのビルドアクションが「コンテンツ」であることを確認してください。さらに試してみてください。

0