質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Q&A

解決済

2回答

2902閲覧

エクセルからPostgreSQLのデータへの接続ができません。

ochiaishiro

総合スコア28

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

0グッド

0クリップ

投稿2017/09/27 02:30

エクセルからPostgreSQLのデータへの接続ができません。教えてください。

エクセルからPostgreSQLのデータベースに接続しようとエクセルのデータ接続ウィザードを使って
0. データリンクプロパティのプロバイダータブで「PostgreSQL OLE DB Provider」を選び、
0. 接続タブでデータソースにIPアドレス、場所にデータベース名を
0. サーバーログオン情報としてユーザー名とパスワードを入力し、
0. 「接続のテスト」ボタンをクリックし「接続のテストに成功しました。」を確認してます。
0. その後に現れる「データベースとテーブルの選択」画面で接続するテーブルを指定し、
0. 「データ接続ファイルを保存して終了」画面の「Excel Services:」の「認証の設定」ボタンをクリックし、
0. 番号リスト「Windows認証」にチェックが付いているのを「なし」に変更し、OKボタンをクリックし、「データ接続ファイルを保存して終了」画面にもどります。
なお、当方はPostgreSQLのデータベースへの接続アカウントは、Windows認証とは別のアカウントを登録しています、
0. 「データ接続ファイルを保存して終了」画面で「完了」ボタンをクリック。
0. すると、「データのインポート」画面が現れ、OKボタンをクリックすると、エクセルが以下のエラーを出します。

===Microsoft Office Excel===

データベースドライバの操作を完了できませんでした。
Microsoftのドライバの場合は、ファイルが破損していないかを確認してください。破損している場合は、Microsoft Queryを再セットアップしてドライバをインストールし直してください。その他のドライバの場合は、データベース管理者またはドライバのベンダに連絡してください。
============================>

「Excel Services:」の「認証の設定」を「Windows認証」のままにしても同じエラーが出ます。
また、pgAdminのデータビューではデータを参照できますので、データベース側のファイルは破損していないと思われます。

当方の環境:
0. PostgreSQL ver.9.5.9
0. ODBC:PostgreSQL OLE DB Provider
(PostgreSQLをインストールする時に一緒にインストール)
0. 番号リストpgAdminⅢ version 1.22.2

関係あるかどうか分かりませんが、MSQRY32.EXEの更新日時はは2011/07/27です。

なお、C:\Program Files\PostgreSQL\9.5\shareフォルダーにあるファイルpsqlrc.sampleに以下の記述があったので、
"pg_config.exe"がある"C:\Program Files\PostgreSQL\9.5\bin"フォルダーにpsqlrc.sampleをpsqlrc(拡張子なし)にリネームして保存しましたが、結果は変わりません。

-- Copy this to your installation's sysconf directory and rename it psqlrc.

-- The sysconf directory can be identified via "pg_config --sysconfdir".

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

OLEとODBCは別物です。
ODBCドライバーをインストールしただけで、OLEDBまでセットアップはされないはずですけど。

スタックビルダーでも、postgresのバージョンを選ぶとPgOleDBは表示されず、<リモートサーバ>を選択する必要があります。

エラーメッセージどおりに従うなら、もう一度インストールしてみてはどうでしょうか。

上記で改善されない場合、どのテーブルを選択しても同じでしょうか?
試しに単純なテーブルを作成しての接続テストをお勧めします。

当方でも接続確認してみましたが、問題なく取り込めました。
但し、配列型項目があるテーブルやユーザーとは異なるスキーマのテーブルはエラーとなりました。
※同じエラーではなく、「クエリが実行できないか、またはデータベーステーブルを開けませんでした」という内容でしたが。

因みに、OLEDBの場合はレスポンスに難があるようです。

ODBCドライバーにより接続し、ADOでシート作成した方が、性能やデータ型にも対応できるし柔軟だと思います。

投稿2017/09/27 04:03

編集2017/09/27 04:04
sazi

総合スコア25173

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

「PostgreSQL OLE DB Provider」ではなく ODBCドライバとして、「psqlODBC」を使うのは、、だめでしょうか?
PostgreSQL 公式のダウンロードページ psqlODBC for Windows からダウンロードできます。

設定手順は、psqlODBC (PostgreSQLむけODBCドライバ) が、わかりやすいでしょうか。

投稿2017/09/27 02:50

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ochiaishiro

2017/09/27 03:04

C:\Program Files\PostgreSQL\psqlODBCはインストール済みです。 エクセルのデータ接続ウィザードでプロバイダーの一覧に表示されているのは「PostgreSQL OLE DB Provider」で「psqlODBC」がでてきませんの選択のしようがないのです。 一覧に出てくる「PostgreSQL OLE DB Provider」が「psqlODBC」のことだと思っていますが、違いますでしょうか?ちなみに、psqlODBCをインストールしていなかった別のマシンでエクセルのデータ接続ウィザードを開いたところ、「PostgreSQL OLE DB Provider」がプロバイダーの一覧になかったので、「psqlODBC」をインストールしたところ、プロバイダーの一覧に「PostgreSQL OLE DB Provider」が表示され、選択できました。ここでも接続を試しましたが、結果は同じでした。
ochiaishiro

2017/09/27 05:26 編集

皆様、ありがとうございます。 CHERRYさんの書き込みをみて、データ接続ウィザードの最初の選択が違っているのかと思いました。 今までは、接続するデータソースの種類として、「その他/詳細」を選択していましたが、「ODBC DSN」を選択しました。 すると、「ODBCデータソースアドミニストレーター」が起動し、ユーザーデータソースの一覧にPostgreSQL関係のドライバーがリストアップされていなかったので、「追加」ボタンをクリックしました。 「データソースの新規作成」画面が現れ、ドライバー一覧の中に以下の2つのPostgreSQL関係のドライバーがありました。 PostgreSQL ODBC Driver(ANSI) PostgreSQL ODBC Driver(UNICODE) ここで、PostgreSQL ODBC Driver(UNICODE)を選択し、完了ボタンを押しました。 すると、PostgreSQL Unicode ODBC セットアップ画面が現れ、ここにサーバー名にIPアドレス、データベース名に接続先のデータベース名、ポート番号、ユーザー名、パスワードを入力し、「テスト」ボタンをクリックしたところ、接続成功のメッセージが出ました。 セットアップ画面の「保存」ボタンをクリックし、設定情報を保存。 結果、エクセルファイルから接続できました。 つまり、saziさんがおっしゃっていた「OLEとODBCは別物です」ということに尽きたようです。 皆様、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問