これも PostgreSQL をインストールするたびに毎回忘れてしまっているのでメモがてらまとめてみました。pg_hba.conf は古いバージョンと少し記述が違かったりするのでちょっと迷いますね。
タグ: 接続
[ODBC] エラー:指定されたDSNには、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています
レポート ビルダーでレポート マネージャーに配置してあるデータ ソースを参照したときにデータ ソース クエリを参照できないエラーの対処法
はまったので簡単にメモします。
【環境】
■クライアントPC
- レポート ビルダー 3.0
■サーバーPC
- Reporting Services (SQL Server 2008 R2)
- 参照するテーブル、またはキューブ
- 上記のデータ ソース配置
【原因と対処法】
レポート ビルダーを使うクライアントからサーバーにあるデータ ソースを参照し、クエリデザインを開こうとしたときに認証エラーになる場合があります。
【エラー例】
- ログオン失敗: ユーザー名を認識できないか、またはパスワードが間違っています。
- 対象のコンピュータによって拒否されたため、接続できませんでした。
逆にサーバー内で直接レポート ビルダーで編集するときや、レポート マネージャーから(サーバー、クライアントからアクセスどちらでも)データ ソースの接続テストを行った場合には問題ない場合があります。
これのよくある原因としては、データソースのホスト名指定に「localhost」を指定している場合に発生します。
サーバー上で編集している場合は自分自身(localhost)にデータソースが存在するのでエラーが発生しません。クライアントからレポート マネージャーを開いてデータソースの接続テストを行った場合にも、実際にプロセスが動いているのはサーバーなのでこちらもエラーになりません。
レポート ビルダーからサーバーのデータソースを参照した場合は、データソース自体はサーバーにあるのですが、そのデータソースを使って実行するプロセスはクライアントになるため、localhost はクライアントPCを指すことになり、データ ソース(テーブルなど)が存在しないため、エラーになることがあります。
ですので、レポート マネージャーに配置するデータ ソースが参照するホスト名は localhost にはせず、必ずサーバー名、または IP アドレスを明示的に指定する必要があります。
]]>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 "接続正常終了"
]]>