箱庭ハーブblog

7年目プログラマの趣味の小部屋

Accessと他DB間をODBCでやり取りをする。初学者向け

ODBC、Odbc、odbc、DB、db、データベース、DataBase、Database、database
2014/02/25 記事を読みやすくなるように修正

ども、一週間以上まるまる更新してませんでしたね

最近は非常にだらだらさせていただきました。
土日もフルフリーダムに引きこもったりヒトカラ入ったり、なかなか堕落した感じです。
DBの方はSQLも書いて「構文ミスです」どPCに言われて辞書を開きなおす程度になりました。
DBの運用管理はまだ勉強中。
で、今回は異なるDB間のやり取りですね。
といってもAccessを主軸にしたやり取りです。
Accessで管理してたDBをOracle/Postgres/SQL Server/MySQLに移行すると言ったことは、
往々にしてあると思います。
ちょっとしたデータならそのままCSVに起こしてロードなんてのが手っ取り早い気がしますが
やはりここは単語だけ聞いたことのあるODBCを使ってみたくなるお年頃。
なので、ODBCを使ってAccessから別製品のDBにアクセスして見ました(OracleとPostgres)
ただ、その前に知識整理を兼ねてDBの概念を少しフカンしてみます

【DBの概要と用語】

DBとはなにか

文脈依存です。DBMS(データベースマネージメントシステム)全体を指していたり、DBMSがアクセスするDBを指していたり、DBMSを含むDBサーバの事を指していたりします。慣れないうちはもやもやが消えない単語です。実際にはDBMSかDBインスタンスを指す場合が8割方だと思われます

DBMS

SQL文字列を受け取って、結果を返す仕組みそのもののことです。
DBサーバの機能面をシステムとしてみた時の呼称と言えるでしょう
DBクライアント
DBにアクセスするためのクライアントです。
「クライアント」とは、サーバと対になる用語。
例えば、Apacheに対するIE9・FF4.0・Chrome。Postgresに対するpg Admin3。OracleサーバやSQL Serverサーバに対するSI Object Browser。CollabNet Subversion Edgeに対するTortoise SVN、PHPサーバに対するPHPMyAdminといったものは、何かのサーバに対するクライアントです

DBサーバ

OracleやPostgreSQL、SQL Server、MySQL、Accessやその他のことを指します。
DBサーバとDBサーバソフトの関係は、WebサーバとApacheの関係に似てますね。
DBサーバソフトはサーバ(ホスト)として24時間常駐します。
・サーバとしての機能
・DBMSとしての機能
・実際のデータ

DBへのアクセス方法

・サーバのIP
・DBアカウント/パスワード
・クライアントソフトの設定
・DBサーバプロセスを実行しているOSアカウントの権限が適切であること

DBリンク

異なるDBソフト間で互いに表示、操作できるように連結すること
DBリンクは各ソフトウェアが共通の規格でやり取りできるようにしているため実現される
通常、DBリンクは単方向・一方向です
例えばAccessからOracleのテーブルへリンクした場合、
Accessから操作できますが、Oracleからは操作できません。

ODBC

ODBC自体は仕様、あるいは規格です。
DBリンクを実現するためにマイクロソフトが中心となって考えた仕組みです。
実際にDBリンクは次のように実現されます。
各DBサーバソフトには接続口(コンセント)を実装してもらっておき、
ODBCマネージャ(WIndowsにはデフォルトでインストール済み)は
その接続口に対応したドライバ(プラグ)を使用し接続、
ODBC仕様に準拠した状態でデータをやりとりします

ODBCドライバ

上記の説明における、プラグに相当するソフトです。
Oracle公式サイトやPostgres公式サイトから個々のドライバをDL出来ます。

ODBCマネージャ

DBリンクを実現してくれるソフトです。
また、接続に必要な情報
(サーバIP&ポート番号(OracleならTNS名)、DB名、アカウント、パスワード、ODBCドライバ)
を構成して保存しておくことも出来ます。

【DBリンクのやり方】

では、AccessからPostgres内のDBのテーブルを見る方法を。
ちなみにOracleもほぼ同一。
使うドライバがOracle ODBC Driverであることと、
それに伴いサーバIP&ポートではなくTNS名であることとだけ違います。
1、Postgres用のODBCドライバをAccessを使用するPCでダウンロードしインストールする。
2、ODBCマネージャ(コントロールパネル>管理ツール>ODBC)を起動し、接続情報を構成する。
3、Accesssから「外部の接続」>「DBリンク」を選択し、接続情報構成を選択する。
4、DBへのアクセスが可能ならば、「リンクするテーブルを選択する画面」に移行する。
これでAccessからDBリンクしたテーブルを自由に読み取れます!
書き換えることも出来ちゃいます!!さーてなんでもござれー!なんでもござれー!

てなわけでみなさんも楽しいDB管理者、DB設計者ライフを
コメント
PAGETOPへ

コメント送信

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード

パスワードを入れておかないと、コメントの再編集ができません!

フリーエリア

takemori
Twitter : @takemori_kondo

1. Unityと戯れてます
2. Cake3は劣化じゃないRails

iOS
coming soon...

Windows
Html Editor - Nazuna
Managed DirectX サンプル集

beginning since
2006.08.17
renewaled on
2011.06.03

最新コメント

[2013/06/14 ミューネ]
[2012/08/30 ノートPC]