レポート ビルダーでレポート マネージャーに配置してあるデータ ソースを参照したときにデータ ソース クエリを参照できないエラーの対処法

はまったので簡単にメモします。

【環境】

■クライアントPC

  • レポート ビルダー 3.0

■サーバーPC

  • Reporting Services (SQL Server 2008 R2)
  • 参照するテーブル、またはキューブ
  • 上記のデータ ソース配置

 

【原因と対処法】

レポート ビルダーを使うクライアントからサーバーにあるデータ ソースを参照し、クエリデザインを開こうとしたときに認証エラーになる場合があります。

【エラー例】

  • ログオン失敗: ユーザー名を認識できないか、またはパスワードが間違っています。
  • 対象のコンピュータによって拒否されたため、接続できませんでした。

逆にサーバー内で直接レポート ビルダーで編集するときや、レポート マネージャーから(サーバー、クライアントからアクセスどちらでも)データ ソースの接続テストを行った場合には問題ない場合があります。

これのよくある原因としては、データソースのホスト名指定に「localhost」を指定している場合に発生します。

サーバー上で編集している場合は自分自身(localhost)にデータソースが存在するのでエラーが発生しません。クライアントからレポート マネージャーを開いてデータソースの接続テストを行った場合にも、実際にプロセスが動いているのはサーバーなのでこちらもエラーになりません。

レポート ビルダーからサーバーのデータソースを参照した場合は、データソース自体はサーバーにあるのですが、そのデータソースを使って実行するプロセスはクライアントになるため、localhost はクライアントPCを指すことになり、データ ソース(テーブルなど)が存在しないため、エラーになることがあります。

ですので、レポート マネージャーに配置するデータ ソースが参照するホスト名は localhost にはせず、必ずサーバー名、または IP アドレスを明示的に指定する必要があります。

]]>

Share this...

VBScript から ADO を使用して Oracle データベースに接続するサンプルプログラム

Option Explicit Dim objADO ' ADO オブジェクトを作成 Set objADO = CreateObject("ADODB.Connection") ' ADO を使い Oracle データベースを開きます ' $ConnectionString$ : 接続文字列 ' $UserName$ : ユーザー名 ' $Password$ : パスワード objADO.Open "Driver={Microsoft ODBC for Oracle}; CONNECTSTRING=$ConnectionString$; UID=$UserName$; PWD=$Password$;" ' ADO をクローズします objADO.Close Set objADO = Nothing msgbox "接続正常終了" ]]>

Share this...