- PR -

Oracle JDBC Driver

投稿者投稿内容
begood
ベテラン
会議室デビュー日: 2003/09/12
投稿数: 97
お住まい・勤務地: とうきょー
投稿日時: 2003-09-13 04:24
ORACLEのDBにアクセスを試みようとトライしています。ODBCドライバの方はWindowsNTマシンで設定して、うまく動いているようですが、下記の簡単なコードを試すと、jdbc.odbc.OracleDriverの部分でコードがとまってしまいます。JDBCドライバの方も設定しているつもりなのですが、いまいちうまく設定できているかどうかわからず、どなたか、JDBCのドライバとODBCのドライバの設定方法、もしくは下記のコードで何かおかしい部分をご指摘していただけないでしょうか?

現在JAVAから(JSP)からDBへの接続の勉強をしており助けていただけると大変助かります。


以下、試したコードです。

import java.util.*;
import java.sql.*;
public class koma{
public static void main(String args[]) throws Exception{
System.out.println("testing");
Connection conn = null;
System.out.println("1");
try{
Class.forName("oracle.jdbc.odbc.OracleDriver");
System.out.println("2");
conn = DriverManager.getConnection("jdbc:oracle:thin:@komatsubara:1521:orcl5", "koma", "begood");
System.out.println("3");
Statement stmt = conn.createStatement();
System.out.println("4");
ResultSet myRs = stmt.executeQuery("select * from emp;");
System.out.println("5");
while(myRs.next()){
int id = myRs.getInt("EMPID");
String name = myRs.getString("EMPNAME");
System.out.println(id);
System.out.println(name);
}
System.out.println("test");
}
catch(Exception e){}
}
}

Dr.Doraemon
ぬし
会議室デビュー日: 2002/03/23
投稿数: 265
投稿日時: 2003-09-13 08:32
お疲れ様です。

ソースを見させて頂きました。
できればソースを張る際には、適切にスペースが入っていると見やすいと思います。

ソース内にかなりでバックのメッセージを入れられているようですが、実際、どこのコードの分で止まるのでしょうか?

getConnectionの部分で止まると言うことでよいでしょうか?

 気になりますのは、サーバ名が名前になっていることですね。"komatsubara"の部分のそのpcのIPアドレスに変えて動作させてみてはどうでしょうか?

 たぶん、名前解決の部分で時間がかかって止まっているように見えるのではないかと感じるのですが、試して頂けますか?

 あと、SQLを投げている部分で";"は必要がないように思います。

未記入
大ベテラン
会議室デビュー日: 2003/06/28
投稿数: 219
投稿日時: 2003-09-13 09:22
Ken-Labと申します。
まず、エラーメッセージを確認する必要があると思われます。(表示できる場合ですが。)
画面にエラー内容を表示させるには、catch節にSystem.out.println (e.toString());
などを入れてみてください。

[ メッセージ編集済み 編集者: Ken-Lab 編集日時 2003-09-13 09:30 ]

# サーブレットと間違えてコメントしたため全面書き換えしました(汗)。

[ メッセージ編集済み 編集者: Ken-Lab 編集日時 2003-09-14 14:20 ]
佐々木
大ベテラン
会議室デビュー日: 2003/03/30
投稿数: 121
投稿日時: 2003-09-13 23:12
私はRDB系はとんと疎く、JDBC-ODBCブリッジによる接続なんてのも未経験なのではありますが、ソースを拝見した限り、JDBCドライバはJDBC-ODBC用みたいですが、getConnectionに渡しているURLは普通のJDBC接続(ODBCなんか介さない方式)の奴に見えます。これでは繋がらないような気がします。

JDBCドライバに普通のクラス(oracle.jdbc.driver.OracleDriver)を使うようにして、ODBCとは縁を切っちゃった方がさっぱりして良いと思います。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-09-16 09:49
引用:

サさんの書き込み (2003-09-13 23:12) より:
私はRDB系はとんと疎く、JDBC-ODBCブリッジによる接続なんてのも未経験なのではありますが、ソースを拝見した限り、JDBCドライバはJDBC-ODBC用みたいですが、getConnectionに渡しているURLは普通のJDBC接続(ODBCなんか介さない方式)の奴に見えます。これでは繋がらないような気がします。

JDBCドライバに普通のクラス(oracle.jdbc.driver.OracleDriver)を使うようにして、ODBCとは縁を切っちゃった方がさっぱりして良いと思います。


そうですね、TYPE1みたいですね。
もし、TYPE1を使いたいなら、"sun.jdbc.odbc.JdbcOdbcDriver"を使用した方が楽ですね。

 オラクルに関してはまずマニュアルを読んでください。
持っていない場合は、オラクルのサイトから無料でダウンロードできます。
「JDBC開発者ガイドおよびリファレンス」に全て載っています。
それと、下記は必ず目を通してください。
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/jdbc/index.html

[ メッセージ編集済み 編集者: taku 編集日時 2003-09-16 09:54 ]
begood
ベテラン
会議室デビュー日: 2003/09/12
投稿数: 97
お住まい・勤務地: とうきょー
投稿日時: 2003-09-16 11:42
いろいろとアドバイスありがとうございます。いろいろと試した結果、JDBCーODBCドライバーがうまくインストールできていないという形で、オラクルのマニュアルも見たのですが、個別のインストールマニュアルを参照しろとのことで・・・。問題はもっているオラクルは3ヶ月のお試し版で練習しているもので(お金がなく、購入できず・・・)マニュアルがないのです・・・。jdbcのドライバーは通常どのようにインストールするか、ご教示いただけないでしょうか?
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-09-16 11:52
引用:

begoodさんの書き込み (2003-09-16 11:42) より:
いろいろとアドバイスありがとうございます。いろいろと試した結果、JDBCーODBCドライバーがうまくインストールできていないという形で、オラクルのマニュアルも見たのですが、個別のインストールマニュアルを参照しろとのことで・・・。問題はもっているオラクルは3ヶ月のお試し版で練習しているもので(お金がなく、購入できず・・・)マニュアルがないのです・・・。jdbcのドライバーは通常どのようにインストールするか、ご教示いただけないでしょうか?


 上でも書きましたが、マニュアルは無料で手に入ります。
ご自分の質問への回答はしっかり読んでください。
単にオラクルへの登録が必要なだけです。
(登録も無料です。)

 設定といってもクラスパスを設定するだけです。
例えば私の環境だと、
”c:\oracle\ora90\jdbc\lib\classes12.jar”にクラスパスを設定すればOKです。
begood
ベテラン
会議室デビュー日: 2003/09/12
投稿数: 97
お住まい・勤務地: とうきょー
投稿日時: 2003-09-16 13:43
オラクルにはすでに登録済みで、内容もかなり熟知して言うつもりなのですが、多分よんでいるマニュアルが違うようですね。オラクルのホームページをもう一度見てみます。呼んでいるマニュアルは500ページのマニュアルでそこにかいてあったのが、オラクル付随の個々のマニュアルを参照しなさいとのことだったので、付随のマニュアルがなかったオラクルのお試し版にはなかったので、あきらめてしまっていました。アドバイスありがとうございます。ちなみに、下記のクラスパスは設定ずみで、多分、うまくインストールできていないのかと思っていました・・・。もう一度、適切なマニュアル探して、トライします。

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