- PR -

JAVAからデータベースへのアクセス

1
投稿者投稿内容
tk919
会議室デビュー日: 2005/09/03
投稿数: 13
投稿日時: 2005-09-15 09:42
はじめまして、宜しくお願いいたします。

現在、JavaプログラムからPostgresSQLにアクセスしようと試みております。
環境は以下の通りです。

OS:Redhat7.3
J2SDK:1.4.2_09
PostgreSQL:postgresql-7.3.3
JDBC:pg73b1jdbc3.jar(rpmパッケージに含まれていたもの)

上記環境で、Javaのソースをコンパイルして実行するとエラーが表示されます↓

[root@localhost javahello]# javac HelloWorldJDBCPostgreSQL.java
[root@localhost javahello]# java HelloWorldJDBCPostgreSQL  
java.lang.ClassNotFoundException: org.postgresql.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at HelloWorldJDBCPostgreSQL.main(HelloWorldJDBCPostgreSQL.java:



JDBCのドライバ(rpmパッケージに含まれていたもの)が原因かと思い、
学習の参考にしていたURLに載っている別のドライバも
追加してみたのですが結局同じエラーとなってしまいました。

何が原因でしょうか?どなたかご教授の程、宜しくお願い申し上げます。


__参考:./bash_profileの中身抜粋_____________________

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:/usr/local/tomcat/common/lib/servlet.jar
g73b1jdbc3.jar:jdbc7.1-1.2.jar

export JAVA_HOME PATH CLASSPATH
_________________________________


__参考:Javaのソース(HelloWorldJDBCPostgreSQL.java)________

import java.sql.*;

public class HelloWorldJDBCPostgreSQL {
public static void main(String[] args) {
try {
// ドライバクラスをロード
Class.forName("org.postgresql.Driver"); // PostgreSQLの場合

// データベースへ接続
Connection con =
DriverManager.getConnection("jdbc:postgresql:hellodb",
"postgres",
""); // PostgreSQLの場合

// ステートメントオブジェクトを生成
Statement stmt = con.createStatement();
String sql = "SELECT * FROM HELLO_WORLD_TABLE";
// クエリーを実行して結果セットを取得
ResultSet rs = stmt.executeQuery(sql);
// 検索された行数分ループ
while(rs.next()){
// NOを取得
int no = rs.getInt("NO");
// 言語を取得
String lang = rs.getString("LANGUAGE");
// メッセージを取得
String msg = rs.getString("MESSAGE");
// 表示
System.out.println(no + " " + lang + " " + msg);
}
// データベースから切断
stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
___________________________________


※参考URL:http://www.hellohiro.com/jdbcpostgresql.htm

1

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