人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

データ ソース (ODBC)について教えてください。

TomCatをベースにした、DBがOracleのローカルなWebページでテストを行っている最中、
「データソース名および指定されたドライバが見つかりません」というエラーが発生しました。


stmt = con.createStatement();
rs = stmt.executeQuery( sqlbun );

SQL実行前の、createStatementでSQL文生成を実行したタイミングで発生していました。


エラーの原因を調べてみたところ
「データソース(ODBC)の設定」が関係しておりました。
ユーザーDSN、または、システムDSNのところでデータベースへのアクセスの設定を行っていない事が
原因でした。

このデータソース(ODBC)ですが、
「この設定を行うとDBとアクセス」ができる、という認識しかないので教えて頂きたいのですが、
何をするものなのか?またいつ使用するか?など漠然とでしか把握できておりません。

データソース(ODBC)とは、
OracleならOracle専用のデータソース、PostgreSQLならPostgreSQLのデータソースという風に
各種DBと接続する際に必ず必要なものなのでしょうか?

また、JDBCを使用する場合にはデータソース(ODBC)の追加は不要なのでしょうか?

●質問者: like_aoihana
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:dB DSN JDBC ODBC Oracle
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● tomo_k
●70ポイント ベストアンサー

http://www.techscore.com/tech/J2EE/JDBC/oracle-1.html

使用するドライバーにもよります。

JDBCといってもJavaAPIとして仕様が決められているのはインターフェースだけです。

http://www.atmarkit.co.jp/fjava/javafaq/jdbc/jdbc02.html

JDBCドライバーには大きく分けて4種類あります。

TYPE1:JDBC-ODBCブリッジドライバ

TYPE2:ネイティブブリッジドライバ

TYPE3:ネットプロトコルドライバ

TYPE4:ネイティブプロトコルドライバ

このうち、ODBCの設定をする必要があるのはTYPE1に属するものだけで現在ではほとんど使われていないタイプです。

何というJDBCドライバーを使っているのかによっても回答が変わってくるかと思います。

たとえばOCI Driverを使っている場合だと、Oracle Clientをインストールしネットマネージャで適切な設定をする必要があります。

そして、ネットマネージャで設定したデータベースサービス名でDriverManager.getConnection()を呼び出しコネクションを設定する必要があります。

Thin Driverを使っている場合だと、Oracle Clientすらインストールする必要がなく、Oracleが動いているマシーンのIPアドレス、ポート、Oracleのユーザ名とパスワードが正しく設定されていれば大丈夫なはずです。

◎質問者からの返答

早速のご回答ありがとうございます。

>JDBCドライバーには大きく分けて4種類あります。

>TYPE1:JDBC-ODBCブリッジドライバ

>TYPE2:ネイティブブリッジドライバ

>TYPE3:ネットプロトコルドライバ

>TYPE4:ネイティブプロトコルドライバ

JDBCで一つではなく、4種類に分かれてあるのですか。

>ODBCの設定をする必要があるのはTYPE1に属するものだけ

ありがとうございます。

JDBCとODBCについて勉強不足というのもあるのですが

何故JDBCとODBCが必要なんだろう・・・?という疑問が巡っておりまして(汗)

おかげ様でモヤモヤしていた疑問が取れました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ