グローバルナビゲーションへ

本文へ

ローカルナビゲーションへ

フッターへ



トップページ >  MAPCOM WORLD TOPICS >  外部データベース接続がうまくいかない場合は?

外部データベース接続がうまくいかない場合は?


このエントリーをはてなブックマークに追加

【2020/09/24】【2023/09/25】更新

外部データベース接続とは?

PC-MAPPINGではExcelやAccess等で作成されたファイルを外部データベースとして登録することができます。
今回は、この動作がうまく動かない場合の解決方法についてお伝えいたします。

外部データベースについては以下もご参照ください。
64ビット版PC-MAPPINGのデータベース接続制限について

なお、今回の記事で解決しない場合はこちらからお問い合わせください。

うまく動かない場合の確認箇所

ドライバーの更新

外部データベース接続機能を利用するためには、対象のデータベースファイルの他に専用のドライバー(ODBCドライバー)が必要となります。そのため、ドライバーに何らかの問題がある場合や、オペレーティングシステムの(セキュリティパッチ等)更新があってその整合性等に問題がある場合、既に外部データベースを接続しているプロジェクトも含め、外部データベース接続機能を利用することができなくなります。
ドライバーはMicrosoftから提供されているので、ドライバーのエラーはPC-MAPPING側で対処することは出来ません。

エラーメッセージ例

その際は、ドライバーの更新を行うことで問題が解消されることがあります。

◆ODBCドライバーのダウンロードは以下のリンクから実行してください。
 Microsoft Access データベース エンジン 2016再頒布可能パッケージ
◆ODBCドライバーの利用方法につきましては、こちらのMicrosoftページを参考にセットアップを行ってください。

なお、インストールの際にはご利用Officeのビット版と対応したODBCドライバーを選択しているかご確認ください。
ODBCドライバーのダウンロードリンクからダウンロードを進めると以下の画面となりますので、
64ビット版Officeをご利用頂いている場合は「_X64」付きのファイルを選択します。

ODBCドライバー選択画面

何bit版かを確認する

■ Microsoft Officeデータベースとの連携について
64ビット版PC-MAPPINGからMicrosoft OfficeのAccess(mdb・accdb)やExcel(xls・xlsx)、に接続する場合、
『64ビット版』Office System接続ドライバーが当該マシンにセットアップされている必要があります。
64ビットWindows上に32ビット版のMicrosoft Officeがインストールされている環境では、32ビット版のOffice System接続ドライバーがセットアップされているため、64ビット版PC-MAPPINGよりAccessデータベース・Excelファイルに接続できません。
運用の関係で32ビット版Officeが必須、またはOfficeバージョンが2007以前の場合、PC-MAPPINGと連携するには32ビット版PC-MAPPINGを使用して下さい。

事例ごとの対処方法(Q&A方式)

Q.
新しいドライバーに更新したものの、状況が変わらないのですが。

A.
2016年版のドライバーをインストールする際に、古いバージョン(2010等)のドライバーが既に入っていると、
そのまま2016年版ドライバーをインストールしてもバージョンが上がらない、そもそもインストール自体ができないといった問題が発生します。
いったん古いバージョンのドライバーをアンインストールしてから2016年版ドライバーをインストールしてください。


Q.
ドライバーのインストールは確認できたものの、データベースの接続ができません。

A.
ODBCドライバーを更新した場合、外部データベース接続の際にデータベースの接続文(SQL文)を確認する必要があります。
ODBCドライバー(2016)に更新しますと、ADOによるデータベース接続でSQL文が、
Provider=Microsoft.ACE.OLEDB.12.0;
のようにこれまでのドライバーに対応したものとなっていますと、テーブル名などが取得できなくなります。
このため、
Provider=Microsoft.ACE.OLEDB.15.0;(OLE DB Provider Excel(2013) )
Provider=Microsoft.ACE.OLEDB.16.0;(OLE DB Provider Excel(2016))
といった接続文(テンプレート)に変更する必要がございます。