JDBCが見つからないとエラーメッセージが表示される

このQ&Aのポイント
  • PostgreSQLのバージョンを8.2から9.2にアップグレードし、Tomcatのバージョンを5から7にアップグレードしました。しかし、実行するとHTTPステータス500のエラーメッセージが表示され、javax.naming.NamingException: Could not load resource factory class [Root exception is java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSourceFactory]というエラーが出ます。
  • エラーメッセージによると、JDBCドライバが見つからず、接続の定義に問題があると思われます。接続の定義はcatalina/localhost/test1.xmlファイルに記述されており、そこでデータベースへの接続情報を指定しています。
  • 接続の定義では、org.postgresql.Driverクラスを使用してPostgreSQLのデータベースに接続しています。また、ユーザー名とパスワードはpostgresとpostgresに設定されており、データベースのURLはlocalhost:5432/LocalDBです。しかし、JDBCドライバが見つからないため、エラーが発生しています。
回答を見る
  • ベストアンサー

JDBCが見つからないとメッセージが出る

PostgreSQLをバージョン8.2から9.2にUPし、Tomcatをバージョン5から7にUPしました。 そのほか、OSはWindows7でローカルシステムを構築中です。 実行すると、HTTPステータス500javax.naming.NamingException: Could not load resource factory class [Root exception is java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSourceFactory] とエラーが出ます。 以下の環境設定の間違いと思われますが、どこを直せばよいかわかりません。 よろしくご教授ください。 PostgreSQLは、C:\Program Files\postgresql9.2に配置しました。 Tomcatは、C:\Tomcat7に配置しました。 システムはC:\Tomcat7\webapps\test1に配置しました。 JDBCドライバは、postgresql-9.1-901.jdbc3.jar と postgresql-9.1-901.jdbc4.jar を C:\Tomcat7\libnにコピー&ペーストしました。 接続の定義は、C:\Tomcat7\conf\catalina\localhost に test1.xmlファイルを作りました。 以下がその記述です。 <?xml version='1.0' encoding='utf-8'?> <Context path="/test1" reloadable="true" docBase="C:\Tomcat7\webapps\test1" workDir="C:\Tomcat7\work" > <Resource name="jdbc/RDBMS" auth="container" type="javax.sql.DataSource" debug="1" factory="org.apache.commons.dbcp.BasicDataSourceFactory" driverClassName="org.postgresql.Driver" username="postgres" password="postgres" maxActive="100" maxIdle="30" maxWait="10000" url="jdbc:postgresql://localhost:5432/LocalDB" removeAbandoned="true" removeAbandonedTimeout="300" /> </Context>

質問者が選んだベストアンサー

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.1

エラーメッセージを見ると、org.apache.commons.dbcp.BasicDataSourceFactory がロード出来なくてエラーになっているようです。 ドキュメントの設定例に factory 属性は書かれていないようですですので、 factory 属性を取り去って試してみては? http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html もしくは、factory 属性の値を↓にしてみては? org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory

Horirin39
質問者

お礼

ご回答ありがとうございます。 factoryの属性を変更しても、同じエラーメッセージが表示されます。 factory属性を削除してTomcatを再起動して実行すると、エラーメッセージが変わりました。 javax.servlet.ServletException: javax.servlet.ServletException jp.co.nics.kjiact.common.BaseActionServlet.init(BaseActionServlet.java:81) javax.servlet.GenericServlet.init(GenericServlet.java:160) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) BaseActionServletの81行目は public void init() throws ServletException { try { System.out.println("====== KJIACT Init Start ======"); super.init(); getWebRootRealPath(); // データベースのデータソースを作成 ConnectionMgr.CreateDS(); // コンスタントの初期化 Constant.init(); // ログオブジェクトの初期化 initLog4j(); // メッセージファイルの初期化 initMsgs(); System.out.println("====== KJIACT Init End ======="); } catch(Exception e) {   System.out.println("====== KJIACT Init ERROR ======");   e.printStackTrace();   throw new ServletException(e); ・・・・・・81行目です } } よろしくお願いします。

その他の回答 (2)

  • root139
  • ベストアンサー率60% (488/809)
回答No.3

> C:\Tomcat7\lib の中に tomcat-dbcp.jar は有りました。 そうですか。その中に↓は含まれているはずなのですが・・・。 org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory > e.printStackTrace() で出たメッセージがどこに表示(保存?)されるのかわかりません。 おそらくは、↓の様なファイルが有って、そこに出力されているかと。 C:\Tomcat7\logs\catalina.~~~.log あと、#1で補足して頂いたエラーメッセージ(スタックトレース)は、あれで全部なのですよね?

Horirin39
質問者

お礼

たびたびご丁寧な回答をいただきましてありがとうございます。 C:\Tomcat7\logs\catalina.yyyymmdd.log と、エラーが出される原因を調べましたところ、 アプリケーションログを取得する定義分のlog4j.xmlファイルがありませんでした。 本ファイルを作り、起動したところ、うまく起動することが出来ました。 最初はJDBCでエラーが出たのですが、コンテキストファイルからFactoryの指定を削除することによって解消しました。 続いて、log4jのファイルがないことでエラーとなったようです。 私のエラーに親身になって取り組んでいただき、ほんとうにありがとうございました。 おかげさまで解決できました。

  • root139
  • ベストアンサー率60% (488/809)
回答No.2

補足ありがとうございます。 C:\Tomcat7\lib の中に tomcat-dbcp.jar は有りますでしょうか? > e.printStackTrace(); > throw new ServletException(e); ・・・・・・81行目です エラーメッセージとソースを明示して頂けるのはありがたいのですが、その一行前の e.printStackTrace() で出たメッセージの方が重要かなと。 (try句のどこかで例外が発生したという事しか分かりませんので)

Horirin39
質問者

お礼

ご回答いただきましてありがとうございます。 C:\Tomcat7\lib の中に tomcat-dbcp.jar は有りました。 無知で申し訳ありません、e.printStackTrace() で出たメッセージがどこに表示(保存?)されるのかわかりません。

関連するQ&A

  • JDBCドライバがない?

    PostgreSQLを使ったJavaアプリケーションをつくり、接続テストをしたところ、Tomcatのエラーで、HTTPステータス500となりました。 メッセージ: 「Cannot create JDBC driver of class '' for connect URL 'null'」 原因 org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null' 原因 java.sql.SQLException: No suitable driver java.sql.DriverManager.getDriver(DriverManager.java:243) と表示されますので、JDBCのclassがないことが原因のようですが、どこを調べればよいかわかりません。 初心者です。よろしくご教授ください。 環境は次のとおりです。 OS:Linux(CentOS5) Tomcat5.5.28 PostgreSQL8.2.14 JDBCドライバ:postgresql-8.2-510.jdbc3.jar /var/webapps/tomcat/common/libに入れてあります。 環境変数のPATHの指定してあります。

  • TomcatのJDBC連携について

    TomcatのJDBC連携について javax.servlet.ServletException: Cannot create JDBC driver of class '' for connect URL 'null' というエラーが消えず、知恵をお貸しください。 他にも同様のケースについて調べては見たのですが解決しません。 ■環境 Windows XP SP3 Eclipse3.6(Pleiades All in One 3.6.0.20100623) apache-tomcat-5.5.29 mysql-essential-5.1.48 ■設定 ■server.xml に下記を追加 <Context docBase="Test" path="/test" reloadable="true" source="org.eclipse.jst.j2ee.server:Test"> </Context> ■Tomcat 5.5/conf/Catalina/localhost/Test.xml に下記を記載 <Context docBase="${catalina.home}/server/webapps/test" privileged="true" antiResourceLocking="false" antiJARLocking="false"> <Resource name="jdbc/MySQL_JDBC" auth="Container" type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=sjis" username="**" password="**" maxActive="20" maxIdle="30" maxWait="1800"/> </Context> ■Webアプリケーション配下の web.xmlに下記を追加 <resource-ref> <res-ref-name>jdbc/MySQL_JDBC</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> ■JSPソースに下記を記載 jdbc.jsp <% InitialContext initCon = new InitialContext(); DataSource ds = (DataSource) initCon.lookup("java:comp/env/jdbc/MySQL_JDBC"); Connection con = ds.getConnection(); Statement stmt = con.createStatement(); ResultSet result = stmt.executeQuery("select * from mytable;"); while (result.next()) { 表示処理 } con.close(); initCon.close(); %> 別途作成した下記JSPではデータ取得はできています。 <% Class.forName("com.mysql.jdbc.Driver"); Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/test?" + "user=tester&password=tester&useUnicode=true&characterEncoding=Shift_JIS"); Statement st=conn.createStatement(); ResultSet res = st.executeQuery("select * from mytable");

    • ベストアンサー
    • Java
  • tomcat5.5 全コンテキスト共有のDBCP設定方法

    こんにちは。 Tomcat5.5のDBCP設定で悩んでいます。 調べた限りだとDBCP設定は、以下のように設定すると思います。 <Context path="/DBTest" docBase="DBTest" debug="5" reloadable="true" crossContext="true"> <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/> </Context> ただこの設定だと、webapps配下に配置する"DBTest"のみが対象となる 設定です。webapps配下に配置する全てのコンテキスト(アプリケーシ ョン)共有のDBCP設定をするにはどうしたらいいのでしょうか? 申し訳ありませんが、ご回答よろしく御願いします。

  • JDBCレルムによるFORMパスワード認証

    JDBCレルムによるFORMパスワード認証 以下のようなエラーが出てデータベースに接続できません: 2010/03/28 4:13:21 org.apache.catalina.realm.JDBCRealm start 致命的: データベース接続オープン中に例外が発生しました java.sql.SQLException: org.gjt.mm.mysql.Driver at org.apache.catalina.realm.JDBCRealm.open(JDBCRealm.java:704) at org.apache.catalina.realm.JDBCRealm.start(JDBCRealm.java:786) server.xmlのデータベースに関する部分は以下の通りです: <Realm className="org.apache.catalina.realm.JDBCRealm" connectionURL="jdbc:mysql://127.0.0.1/authorization" driverName="org.gjt.mm.mysql.Driver" connectionName="root" connectionPassword="" ←ここは空欄でいいですか? roleNameCol="role" userCredCol="password" userNameCol="username" userRoleTable="roles" userTable="users" /> …検索してみるとorg.gjt.mm.mysql.Driverは古いのでcom.mysql.jdbc.Driverを使うべき、とありました (http://www.javadrive.jp/servlet/auth/index5.html)。 しかし、org.gjt.mm.mysql.Driverをcom.mysql.jdbc.Driverに変えてみましたが、結果は変わりません。 本来、どちらが正しいのでしょうか? ←まずはこの質問の回答をお願いします あと、自分のMySQLはユーザー名は"root"で設定してあるのですが、パスワードは設定していません (つまり、MySQLをコマンドラインから起動するときはパスワードを空欄のままEnterを押して入れます)。 自分の場合、connectionNameとconnectionPasswordは上記の通りで良いのでしょうか?  ←次にこの質問の回答をお願いします Tomcatのライブラリは以下の通りです: Directory of C:\apache-tomcat-6.0.26\lib [.] [..] annotations-api.jar catalina-ant.jar catalina-ha.jar catalina-tribes.jar catalina.jar el-api.jar jasper-el.jar jasper-jdt.jar jasper.jar jsp-api.jar servlet-api.jar tomcat-coyote.jar tomcat-dbcp.jar tomcat-i18n-es.jar tomcat-i18n-fr.jar tomcat-i18n-ja.jar MySQLのデータはちゃんと入力されており、MySQL単体であれば、もちろん動作します: mysql> select * from roles; +----+----------+--------+ | id | username | role | +----+----------+--------+ | 1 | nakamura | member | | 2 | tanaka | member | +----+----------+--------+ mysql> select * from users; +----+----------+----------+ | id | username | password | +----+----------+----------+ | 1 | nakamura | 1234 | | 2 | tanaka | 5678 | +----+----------+----------+ …では、宜しくお願いします。

    • ベストアンサー
    • Java
  • Tomcat5.0でJNDI

    お世話になります。 Tomcat5.0で、JNDIを使ってコネクションプーリングを実現しようとしてますが、なかなかうまいこといきません。 コンテキストファイル(hoge.xml)の設定 前略 <Resource name="jdbc/hoge" auth="Container" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/hoge">   <parameter>     <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>   </parameter>   <parameter>     <name>driverClassName</name>     <value>com.mysql.jdbc.Driver</value>   </parameter>   <parameter>     <name>url</name>     <value>jdbc:mysql://localhost/hoge</value>   </parameter>   <parameter>     <name>username</name>     <value>hogeuser</value>   </parameter>   <parameter>     <name>password</name>     <value>hogepass</value>   </parameter> 中略 </ResourceParams> 後略 これを、トムキャットホーム\conf\Catalina\localhostに置いています。 Javaの方のソース String dsString = getServlet().getInitParameter("java:comp/env/jdbc/hoge"); InitialContext context = new InitialContext(); DataSource ds = (DataSource) context.lookup(dsString); Connection connection = ds.getConnection(); 実行すると、 名前 java:/comp/env/jdbc/hoge はこのコンテキストにバインドされていません という具合に怒られます。名前はjdbc/hogeで合ってると思うのですが、他に何かおかしいところがあるでしょうか。 また他に調べるべき点はどのようなところでしょうか。 どうぞよろしくご教授ください。

  • JNDIについて

    緊急で困っています。宜しくお願いします。 JNDIを使ってDB接続しようとしているのですがエラーが出て接続できません。 ■発生箇所---------------------------------------- public static Connection getConnection() { Connection con = null; try { InitialContext context = new InitialContext(); DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/MySQL"); con = ds.getConnection(); } catch (NamingException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return con; } のlookupの箇所です。 ------------------------------------------ server.xml <Context>タグの中に <Resource name="jdbc/MySQL" auth="Container" type="javax.sql.Datasource"> <ResourceParams name="jdbc/MySQL"> <parameter>    <name>factory</name>   <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <!-- Max Active <parameter> <name>maxActive</name> <value>100</value> </parameter> --> <!-- Max Idle <parameter> <name>maxIdle</name> <value>30</value> </parameter> --> <!-- Max Wait <parameter> <name>maxWait</name> <value>10000</value> </parameter> --> <parameter> <name>username</name> <value>***</value> </parameter> <parameter> <name>password</name> <value>***</value> </parameter> <parameter> <name>driverClassName</name> <value>com.mysql.jdbc.Driver</value> </parameter> <parameter> <name>url</name> <value>jdbc:mysql://localhost/DB名?useUnicode=true&amp;characterEncording=Windows-31J</value> </parameter> </ResourceParams> </Resource> </Context> ---------------------------------------------- web.xml <resource-ref> <res-ref-name>jdbc/MySQL</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> ---------------------------------------------------- 必要なライブラリはTOMCAT_HOME/common/libに配置しています。 ------------エラーログ javax.naming.NamingException: Cannot create resource instance at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:132) at javax.naming.spi.NamingManager.getObjectInstance(Unknown Source) at org.apache.naming.NamingContext.lookup(NamingContext.java:791) at org.apache.naming.NamingContext.lookup(NamingContext.java:138) at org.apache.naming.NamingContext.lookup(NamingContext.java:779) at org.apache.naming.NamingContext.lookup(NamingContext.java:138) at org.apache.naming.NamingContext.lookup(NamingContext.java:779) at org.apache.naming.NamingContext.lookup(NamingContext.java:138) at org.apache.naming.NamingContext.lookup(NamingContext.java:779) at org.apache.naming.NamingContext.lookup(NamingContext.java:151) at org.apache.naming.SelectorContext.lookup(SelectorContext.java:136) at javax.naming.InitialContext.lookup(Unknown Source) at com.llc.aison.seikei.util.DBUtil.getConnection(DBUtil.java:18) 環境: Tomcat5.0 mysql eclipse3.1.1 jdk1.4_12 以上宜しくお願いします。

    • ベストアンサー
    • Java
  • JNDIでDataDourceにNullが入ってしまう

    いつもお世話になっています。 JNDIを使ってDataSourceを取得しようと思っているのですがNullが返ってきてしまってかなりハマッてます。 ご指導頂けたらと思います。 設定は下記のようになっています。 環境: jdk:1.4.2_12 tomcat:5.0 Mysql:4.0.20a-nt server.xml-------------------------------------------------- <Context docBase="C:\Documents and Settings\ESC\workspace\SNS\.deployables\SNS" path="/SNS" reloadable="true"> <Resource name="jdbc/MySQL" auth="Container" type="javax.sql.Datasource" /> <ResourceParams name="jdbc/MySQL"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <!-- Max Active <parameter> <name>maxActive</name> <value>100</value> </parameter> --> <!-- Max Idle <parameter> <name>maxIdle</name> <value>30</value> </parameter> --> <!-- Max Wait <parameter> <name>maxWait</name> <value>10000</value> </parameter> --> <parameter> <name>username</name> <value>****</value> </parameter> <parameter> <name>password</name> <value>****</value> </parameter> <parameter> <name>driverClassName</name> <value>com.mysql.jdbc.Driver</value> </parameter> <parameter> <name>url</name> <value>jdbc:mysql://localhost/dbname?useUnicode=true&amp;characterEncording=Windows-31J</value> </parameter> </ResourceParams> </Context> web.xml-------------------------------------------------- <resource-ref> <res-ref-name>jdbc/MySQL</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> java側-------------------------------------------------- InitialContext ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/MySQL"); connection = ds.getConnection(); -------------------------------------------------------- どうか宜しくお願い致します。

  • apacheとtomcat連携時においてのJDBCの設定

    似たケースが検索で見つけられず 投稿させて頂きます。 JDBCをインストールしmysqlとの 連携をしたいのですがうまくいきません。 apacheとtomcatの連携に関しては 以下のページを参考にしました。 http://www.javaroad.jp/opensource/js_tomcat3.htm そしてJDBCの設定に関しては参考にしている本が古いため コネクションプーリングの設定がAdministratorになっており 当方のtomcat6バージョンではAdministratorが 設定できなかったため(できないですよね?)色々調べた結果 以下のファイルを設定しました。 アプリケーションルート・META-INF/context.xml ---------------------------------------------------------------- <Context displayName="Jsp_Servlet Samples" docBase="wl_jsp" path="/wl_jsp" reloadable="true"> <Realm className="org.apache.catalina.realm.DataSourceRealm"  ~中略(この部分は設定しなくても良いと書かれていました)~ <Resource name="jdbc/Wl_Jsp" auth="Container" type="javax.sql.DataSource" maxActive="4" maxIdle="2" maxWait="5000" driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/wl_jsp?useUnicode=true&characterEncoding=Windows-31J" username="wl_jsp" password="wl_jsp" validationQuery="SELECT count(*) FROM books" /> ---------------------------------------------------------------- 以下本に書かれていた設定値です プロパティ    |概要         |設定値 ---------------------------------------------------------------- JNDI名      |データソースを識別  |jdbc/Wl_Jsp ---------------------------------------------------------------- データソースURL  |接続文字列      |jdbc:mysql://localhost/wl_jsp?useUnicode=true&characterEncoding=Windows-31J ---------------------------------------------------------------- JDBCドライバクラス|ドライバクラス修飾名 |org.gjt.mm.mysql.Driver ---------------------------------------------------------------- ユーザー名    |接続時のユーザー名  |wl_jsp ---------------------------------------------------------------- パスワード    |接続時のパスワード  |wl_jsp ---------------------------------------------------------------- 有効な最大接続数 |プーリングする最大数 |4 ---------------------------------------------------------------- アイドル状態の最大接続数|待機時に最低維持する接続数|2 ---------------------------------------------------------------- 最大接続待ち時間 |接続に対しての待ち時間|5000(ミリ秒) ---------------------------------------------------------------- クエリの検証   |接続検証用のSQL命令  |SELECT count(*)FROMbooks web.xmlについてはweb-appタグ直下に以下を追加しました。 <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/Wl_Jsp</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> mysql-connector-java-5.1.7-bin.jarファイルについては Toncat 6.0/common/libに保存せよと本にはありますが commonディレクトリが無いためToncat 6.0/libに保存してあります。 またCLASSPATHの設定も本にはありませんでしたが ネットで色々調べていたらでてきましたので 以下のように設定してみましたがだめでした。 -------------------------------------------------------------- C:\Program Files\Apache Software Foundation\ Tomcat 6.0\libmysql-connector-java-5.1.7-bin.jar; -------------------------------------------------------------- 実行結果になります。 ---------------------------------------------------------------- javax.servlet.jsp.JspException: DataSource が無効であるため、Connection を取得できません: "org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'" ---------------------------------------------------------------- 環境です --------------- os:windows xp home sp2 apache2.2 tomcat6.0 jdk1.6.0_10 mysql-connector-java-5.1.7-bin.jar --------------- 長乱文失礼致しました。 他に必要な設定などありますでしょうか? アドバイス・ヒントなどありましたらお願いします。

    • ベストアンサー
    • Java
  • JDBC PostgreSQLで必要なファイルはあるのでしょうか?

    LinuxでPostgreSQLのデータベースをJDBCでアクセスしたいのですが、以下のソースで次のエラーが発生します。何か必要なファイルでもあるのでしょうか? java.lang.ClassNotFoundException:org.postgres.Driver また、LinuxのODBCも必要なファイルがあるのでしょうか? import java.sql.*; class jdbcSample2 { public static void main(String argv[]) { int a; String b; try { //Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver"); //String url = "jdbc:odbc:test"; Class.forName ("org.postgres.Driver"); String url = "jdbc:postgresql://127.0.0.1:5432/test"; String user = ""; String password = ""; Connection con = DriverManager.getConnection(url, user, password); Statement stmt = con.createStatement (); String query = "select * from member;"; ResultSet rs = stmt.executeQuery (query); while(rs.next()){ a = rs.getInt(1); b = rs.getString(2); System.out.println(a + ", " + b); } rs.close(); stmt.close(); con.close(); } catch (SQLException ex) { System.err.println("SQL failed."); ex.printStackTrace (); } catch (Exception ex) { ex.printStackTrace (); } } }

  • JDBCドライバについて

    JavaからアクセスしたいのでJDBCドライバをインストール、設定しようとしたのですが、Tomcatに組み込むやり方がわかりません。このサイトを参考にしてやったのですが・・・ << db105.java >> データベース(0):JDBCドライバ JavaのプログラムからMySQLのデータベースへ接続するにはJDBCドライバが必要である。 ●JDBCドライバのダウンロードとインストール (1)Webブラウザで、http://www.mysql.com/downloads/に接続する。 ダウンロードするバージョン(MySQL Connector/J 3.0)をクリックする。 (2)http://dev.mysql.com/downloads/connector/j/3.0.htmlに切り替わる。Downloadをクリックする。 (3)ダウンロードが始まるので、保存先をデスクトップにする。ファイル(mysql-connector-java-3.0.15-ga.zip)がデスクトップに保存される。 (4)ZIP形式のファイル(mysql-connector-java-3.0.15-ga.zip)を解凍する。デスクトップ上のディレクトリ(mysql-connector-java-3.0.15-ga\mysql-connector-java-3.0.15-ga)内のファイル(mysql-connector-java-3.0.15-ga-bin.jar)にJDBCドライバが存在する。 (5)JDBCドライバを環境変数CLASSPATHに追加する。 SET CLASSPATH=%CLASSPATH%;c:\mysql-connector-java-3.0.15-ga\mysql-connector-java-3.0.15-ga-bin.jar;. ただし、JDBCドライバは、 c:\mysql-connector-java-3.0.15-ga\mysql-connector-java-3.0.15-ga-bin.jarに存在する。 ●Tomcatに組み込む。 ファイル(mysql-connector-java-3.0.15-ga-bin.jar)を %CATALINA%\shared\libの下にコピーする。その後、再起動する。 2番目の黒丸の%CATALINA%\shared\libが全くみつからないです。教えてください~;;

    • ベストアンサー
    • MySQL