SSRSレポートを表示するためにレポートサーバーに接続する角型アプリケーションがあります。アプリケーションは、データベースに格納されているファイルパスを使用してレポートを識別します。私はこの報告書は、別のデータベースに接続できることを第二のデータソースを追加する必要がランタイムにAngularJSを使用してSSRSレポートにデータベース名を渡す
http://<serverName>/Reports/Pages/Report.aspx?ItemPath=%2fReportFolder%2fPatientReport
:これは、ファイル・パスの一例です。現在、このレポートは1つのデータベースにハードコードされています。しかし、私は第2のデータソースを作成し、別のデータベースに動的にリンクできることを読んだ。
このファイルパスにデータベースの名前を渡してから、このデータベース名を使用して正しいデータソースを選択できますか?
更新 データベース名をパラメータ化する手順が見つかりました。私はすべてのデータベースが格納され、データベース名を含む1つのテーブルを持つデータベースをサーバ上に作成します。私はこれらの名前を取得するためのデータソースを作成し、ユーザーからの入力となる 'DatabaseName'のパラメータを作成しました(うまくいけば、この名前をファイルパス文字列にパラメータとして追加して、ユーザーが) レポートには、データベースのリストと、データベース名を追加するために接続文字列でこの式を使用する動的データソースを返すデータソースがあります。
ただし、私はこれを接続する必要がありますデータソースをデータセットに追加します。私はそれを実行し、 ="Data Source=<server Name>;Initial Catalog=" & Parameters!DatabaseName.Value
私は、データセットと、この動的なデータソースを使用して試してみて、私はエラーのためにデータセットを保存することはできません。 [1 [[ここに画像の説明を入力] [1]!] ]
これはクエリにDatabaseパラメータを追加する必要があるためですか? もしそうなら、それを回避する方法はありますか?同様に追加することができます: クエリの先頭に@DatabaseNameを使用しますか?
更新 オプションのデータベースで表示するための基本的なレポートがあります。 これで、レポート文字列にパラメータとしてデータベース名を送信するだけで済みます。