簡體   English   中英

Windows Azure上的Crystal報表未顯示

[英]Crystal reports on Windows Azure is not getting displayed

我已經在VS2010 ASP.net C#中編寫了一個Web應用程序,以顯示Crystal報表。 我將此應用程序移至Azure仿真器。 在本地工作正常。 但是,在使用Azure部署它之后,就不會顯示Crystal報表,甚至不會引發異常。

我已經安裝

  1. 已安裝CRforVS_13_0.exe
  2. 然后依次在我的計算機上安裝CRRuntime_64bit_13_0。

來自any1的任何輸入都會有所幫助。 如果您需要更多信息,請告知。

謝謝,Tanuja

絕對可以做到的。 我自己做的,甚至撰寫了有關在Azure上運行Crystal Reports的分步博客文章

它圍繞創建啟動任務來在新的Azure Web角色實例上運行Crystal Reports安裝文件。 我列出了很多障礙,因此請嘗試一下。 確實有效!

我只是遇到了讓Crystal Reports 2010(13.0.4)在Azure上運行的相同問題。 我遵循BritishDeveloper和其他一些來源的建議。 我的方法略有不同,因為我使用Azure blob存儲來存儲Crystal運行時,這使得項目發布比將其包含在項目中時要快得多。

這是我使水晶報表工作的方式:

1)在Azure門戶中設置新的Blob存儲服務

2)將Crystal安裝程序上傳到此Blob存儲

使用免費工具CloudXplorer上傳CRRuntime_64bit_13_9_4.msi到一個容器稱為crystalinstaller(記得上傳之前解壓縮)。

3)在Visual Studio中,在Azure項目ServiceDefinition.csdef中創建啟動腳本定義:

<ServiceDefinition...>
  <WebRole...>
    <Startup>
      <Task commandLine="AzureStartUp.cmd" executionContext="elevated" taskType="background" />
    </Startup>
  </WebRole>
</ServiceDefinition>

4)將以下啟動腳本存儲在Web項目的根目錄中,並且將“ build action”設置為none並將“ copy to output”設置為always 在這里學到的教訓:approot / siteroots並不總是在E:驅動器上

@ECHO off
@REM Setting up Azure Stroage Credentials
set azurestoragename=<name>
set azurestoragekey=<key>
set storagecontainername=crystalinstaller

@REM Setting up Azure Drive 
@REM (sometimes E:, sometimes F: maybe one day G:?)
set drive=%cd:~0,3%

@REM Download Crystal Runtime 13.0.4
@REM from blob storage account
set filename=CRRuntime_64bit_13_0_4.msi
AzureBlobDownloader.exe "%azurestoragename%" "%azurestoragekey%" "%storagecontainername%" "%filename%"

@REM Install Crystal Runtime 13.0.4
msiexec.exe /I CRRuntime_64bit_13_0_4.msi /qn

@REM Copy Crystal Reports Viewer Files
robocopy D:\inetpub\wwwroot %drive%sitesroot\0 /S
robocopy D:\inetpub\wwwroot %drive%approot /S

5)下載一個命令行工具,該工具可以從Blob存儲下載到您的Azure服務VM,我使用的是Windows Azure Tomcat解決方案中的 packagedownloader.exe,但可能還有其他工具,或者您可以輕松自用。 我將其重命名為AzureBlobDownloader.exe,然后將其與包含的Microsoft.WindowsAzure.StorageClient.dll一起復制到我的Web項目的根目錄中,並且將“生成操作”設置為 ,將“復制到輸出”設置為always

如果仍然遇到問題,請嘗試將桌面遠程進入實例,然后使用DebugView之類的工具來監視正在發生的事情。

首先在您的解決方案中創建一個名為“ assets”的文件夾。在該文件夾中復制CRRuntime_64bit_13_0.msi。 然后將以下代碼放入ServiceDefinition.csdef中

<Startup> <Task executionContext="elevated" taskType="simple" commandLine="assets/CRRuntime_64bit_13_0.msi"></Task> </Startup>

這樣,您可以在加載應用程序之前將Crystal運行時安裝在雲服務器上。

希望這對您有用。

絕對可能; 我們在Azure中托管了一個SL應用程序,並在Azure VM中運行了報表服務器(仍處於beta版本,我們雖然遇到了一些連接問題,但對於beta版本的產品非常滿意)。 報表服務器通過Windows服務運行,我們有一個安裝文件,用於安裝CR運行時和我們的服務。 然后,該服務將輪詢數據庫以查找未決的報告請求,然后根據需要對其進行處理。

我們將所有報告都以PDF格式運行,因此用戶只需下載PDF。 如果您在直接顯示報告時遇到問題,可以研究此替代方法。 對我們來說很棒。

到目前為止,Azure尚不支持。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM