ReportViewerコントロールを介してDMZ内のASP.NETアプリケーションからSQL Server 2005 Reporting Servicesレポートを表示する必要があります。 SQLとSSRSサーバーはファイアウォールの後ろにあります。DMZのReportViewerコントロールからSQL Server 2005 Reporting Servicesレポートを表示する方法
0
A
答えて
3
`ASP.NET 2.0アプリケーションのレポートをページから呼び出す方法を変更する必要がありました。もともとは、JavaScriptを使って新しいウィンドウを開きました。私が持っていた
ViewCostReport.OnClientClick = "window.open('" + Report.GetProjectCostURL(_PromotionID) + "','ProjectCost','resizable=yes')";
問題は、window.open呼び出しだけ自分のDMZにある新しいWebサーバー上でクライアントネットワーク内で動作していないということでした。レポートを表示するためにReportViewerコントロールを埋め込んだ新しいレポートWebFormを作成する必要がありました。
私が持っていたもう1つの問題は、レポートサーバーがレポート用に別のアプリケーションによって使用されていたため、Windows認証でアクセスする必要があったことです。そこで、私はWindowsユーザーを偽装するためにReportViewerコントロールを取得するようになりました。
レポートにアクセスするためのMicrosoft.Reporting.WebForms.IReportServerCredentialsインターフェイスを実装する新しいクラスを作成します。
protected void btnReport_Click(object sender, EventArgs e)
{
ReportParameter[] parm = new ReportParameter[1];
parm[0] =new ReportParameter("PromotionID",_PromotionID);
ReportViewer.ShowCredentialPrompts = false;
ReportViewer.ServerReport.ReportServerCredentials = new ReportCredentials("Username", "Password", "Domain");
ReportViewer.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;
ReportViewer.ServerReport.ReportServerUrl = new System.Uri("http://ReportServer/ReportServer");
ReportViewer.ServerReport.ReportPath = "/ReportFolder/ReportName";
ReportViewer.ServerReport.SetParameters(parm);
ReportViewer.ServerReport.Refresh();
}
:
public class ReportCredentials : Microsoft.Reporting.WebForms.IReportServerCredentials
{
string _userName, _password, _domain;
public ReportCredentials(string userName, string password, string domain)
{
_userName = userName;
_password = password;
_domain = domain;
}
public System.Security.Principal.WindowsIdentity ImpersonationUser
{
get
{
return null;
}
}
public System.Net.ICredentials NetworkCredentials
{
get
{
return new System.Net.NetworkCredential(_userName, _password, _domain);
}
}
public bool GetFormsCredentials(out System.Net.Cookie authCoki, out string userName, out string password, out string authority)
{
userName = _userName;
password = _password;
authority = _domain;
authCoki = new System.Net.Cookie(".ASPXAUTH", ".ASPXAUTH", "/", "Domain");
return true;
}
}
は、その後、私はレポートを呼び出すためのボタンのイベントを作成しました
関連する問題
- 1. Sql Server Reporting Services 2005レポートのインポートPDFから
- 2. SQL Server 2005のReporting Services 2008
- 3. SQL Server 2005 Reporting Servicesのカスタムフォント
- 4. SQL Server 2005 Reporting Services、サブスクリプション
- 5. SQL Server Reporting Servicesの2005 - アクセシビリティGuidlelinesは
- 6. WebBrowserコントロールからSQL Reporting Servicesレポートにパラメータを渡します。
- 7. Reporting Services 2012 - ReportViewer
- 8. SQL Reporting Servicesの複数のバージョンReportViewer
- 9. SQL Reporting Services 2005のローカルタイムゾーン
- 10. SQL Server Reporting ServicesからC#
- 11. SQL Server Reporting Services:サードパーティチャートコントロール?
- 12. SQL Server Reporting Services
- 13. SQL Server Reporting Servicesレポートをローカライズするには?
- 14. Reporting Services 2005フィルタ
- 15. SQL Server Reporting Services 2005でHTML形式の列を追加する
- 16. SQL Server Reporting Servicesレポート(.rdl)をローカライズする簡単な方法は何ですか?
- 17. Reporting Servicesレポート
- 18. SQL Server Reporting Services Standard EditionレポートSQL Server Expressデータベース
- 19. nullをチェックするSQL 2005 Reporting Services
- 20. SQL Server Reporting Servicesモバイルビュー
- 21. SQL Server 2005 Reporting Servicesで動的ピボット要求の結果を表示する方法
- 22. Reporting Services 2005サブスクリプション
- 23. SQL Server Reporting ServicesレポートをCRMの旧バージョンにアップロードする
- 24. Sql Server Reporting Servicesのレポートのコードをコードで取得
- 25. SQL Server Reporting ServicesのTablixで固定行数を表示する
- 26. SQL 2005 Reporting Servicesレポートのヘッダーにデータを表示するにはどうすればよいですか?
- 27. レポートビューアでSql Server Reporting Servicesで作成されたレポートが表示されない
- 28. SQL Server 2005 Reporting Servicesポータルの一括アイテムレベルの更新
- 29. Reporting ServicesとSQL Serverのミラーリング
- 30. SQL Server Reporting Servicesのグラフクエリ。