- PR -

Oracle DB接続について

1
投稿者投稿内容
ハップ
会議室デビュー日: 2005/10/27
投稿数: 5
投稿日時: 2007-01-03 12:37
書籍のDB接続の説明で、ODBCやODP.NETなどの「DB接続方法」がプロトコルのような図で説明されているものを見かけます。
そのため、最近までAPサーバ - DBサーバ間の接続プロトコルも含めてODBCやODP.NETなどと解釈していたのですが、これらAPIとプロトコルは異なるということに(今さらながら)気づいたために確認の意味を込めて質問させていただきます。

1.ODBCなどのAPI+ミドルウェアはあくまでもアプリケーション(サーバ)側固有の問題であり、ミドルウェアがDB独自の通信プロトコルに変換してネットワークへ出力する
2.Oracleサーバ側はネットワークを経由して受信したリクエストに対して、ODBCを経由しているか、ODP.NETを経由しているかなどを知ることはできない

以上2つの認識について誤りはありませんでしょうか?
よろしくお願いいたします。
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2007-01-04 02:29
ODBCをプロトコルと捉えるのは微妙な気がします。
DBMS毎に異なる通信プロトコル等を吸収するインタフェースなので。

インタフェースも使い方を定義するプロトコルのようなものである
という点で言えば、完全に間違っているわけでもないですけど。
こちらは極論ぎみなので区別した方がよいと思われます。

引用:

1.ODBCなどのAPI+ミドルウェアはあくまでもアプリケーション(サーバ)側固有の問題であり、ミドルウェアがDB独自の通信プロトコルに変換してネットワークへ出力する



ここではODBCドライバをミドルウェアと呼んでいるのですよね?

ODBC全体もミドルウェアと捉えても間違っていないように思いますが、
仕様(ODBCのインタフェース)と実装(DBMSベンダが提供するドライバ)を
区別して考えられているのならばよいと思います。

#仕様にも一部実装はありますが、それは別の話ということで・・・。

引用:

2.Oracleサーバ側はネットワークを経由して受信したリクエストに対して、ODBCを経由しているか、ODP.NETを経由しているかなどを知ることはできない



区別する事が本当に不可能か、と言われると微妙ですが、
アプリケーション -> ODBC -> OCI -> Oracleサーバ
という流れになるので、

Oracleサーバから見ればSQL/Plus等との違いは殆どありません。
ハップ
会議室デビュー日: 2005/10/27
投稿数: 5
投稿日時: 2007-01-04 20:25
ご返信ありがとうございます。
確認事項1および2について、大きな間違いはないということで安心しました。
各補足をいただいているように、細かい部分の理解についても、もっと勉強が必要だと感じました。

また分からない箇所や不安な箇所があったら質問させて頂きますのでよろしくお願い致します。
1

スキルアップ/キャリアアップ(JOB@IT)