Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
山崎 実久
SQL Developer Support Engineer
以前、本ブログの “Reporting Services のレポートで印刷を行うと「クライアントの印刷コントロールを読み込めません。」のエラーが発生する” の記事で、Reporting Services のレポートで印刷時の下記エラーの発生パターンおよび回避方法をご案内しました。
--------
クライアントの印刷コントロールを読み込めません。
--------
“Reporting Services のレポートで印刷を行うと「クライアントの印刷コントロールを読み込めません。」のエラーが発生する” の記事で、上記エラーが発生するパターンの1つとして、Reporting Services の印刷時、RSClientPrint という ActiveX コントロールがクライアントにインストールできないため、このエラーが発生する場合があることをお伝えしました。
本 blog では、SQL Server 2008 以降の環境において、RSClientPrint という ActiveX コントロールがクライアントにインストールできない場合について、下記 2 点を補足説明します。
・RSClientPrint の ActiveX コントロールがクライアントにインストールされているか確認する方法
・対処方法
[RSClientPrint の ActiveX コントロールがクライアントにインストールされているか確認する方法]
事象が発生するクライアントマシンにて C:\Windows\Downloaded Program Files\ 配下の RSClientPrint.dll のファイルが存在しているか否かで、判断できます。
RSClientPrint.dll のファイルが存在しない場合、RSClientPrint の ActiveX コントロールがクライアントにインストールされていないと判断できます。その場合、以下の対処方法に記載の内容を確認します。
[インストールできない原因についての確認方法]
事象が発生するクライアントマシンにて RSClinetPrint ActiveX コントロールをインストールできない一般的な原因は以下となります。以下 2 点に該当しないか確認します。
1. 印刷を行っているユーザーの権限が不足している。(PowerUser 以上の権限が必要です。)
2. IE の セキュリティ設定で、ActiveX コントロールのダウンロード等が無効となっている。 ※
※ 2 について、IE の設定の確認方法の詳細は以下となります。
事象が発生するクライアントマシンにて確認手順
------------------------------------------------------
[インターネットのオプション] - [セキュリティ] の下記 4 つの項目について、それぞれ以降に記載のURL を参照いただき、ActiveX に関する設定を確認します。
[インターネット]
[ローカルイントラネット]
[信頼済みサイト]
[制限付きサイト]
+ ActiveX に関する設定を紹介しているサイト
Internet Explorer の ActiveX に関する設定を調整する
https://windows.microsoft.com/ja-jp/windows/help/genuine/ie-activex
上記、1, 2 を確認後、該当しない場合は、以下を事象が発生するクライアントマシンにて実施ください。以下の手順は SQL Server 2008 の既定インスタンスについての例となります。
SQL Server 2008 以降の場合は、 1) の cab ファイルの場所を SQL Server のバージョンに合わせ変更します。
例 ) 対処方法
----------------
1) RSClientPrint の cab ファイルの中身をクライアントの任意のディレクトリ (例:c:\temp) にコピーし展開します。
RSClientPrint の cab は、既定では、対象の SQL Server 稼働マシン上の、以下のフォルダ配下にあります。
C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin
SQL Server 2008 Reporting Servicesの RSClientPrint の cab は以下の 3 種類があります。
・RSClientPrint-ia64.cab
・RSClientPrint-x64.cab
・RSClientPrint-x86.cab
これは、レポートにアクセスを行うブラウザによって使用する cab が異なります。
32bit 環境の場合は「RSClientPrint-x86.cab」をコピーし展開します。
また、x64 環境であっても、IE を 32bit モードで起動する場合には、上記と同様に「RSClientPrint-x86.cab」をコピーし展開します。
2) 印刷を行うクライアントマシン上にて、管理者権限でコマンド プロンプト(CMD.EXE) を起動して、以下のコマンドを入力します。
Regsvr32 c:\temp\rsclientprint.dll
-> 成功した場合、以下のメッセージが表示されます。
c:\temp\rsclientprint.dll の DLLRegisterServer は成功しました。
※ 1) で展開した cab ファイルの中身のうち、「rsclientprint.dll」を指定します。
※ x64、IA64の cab を使用する場合には、下記のように「rsclientprint64.dll」を指定します。
Regsvr32 c:\temp\rsclientprint64.dll
3) レポートに接続し、印刷ボタンをクリックし印刷可能か確認します。
以上となります。参考になりましたら幸いです。