質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

0回答

1135閲覧

postgresqlにjavaから接続、最初の1回のみエラーが発生する

asus2

総合スコア22

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2019/06/27 01:29

編集2022/01/12 10:55

お世話になります。

postgreSQLにjavaから接続しています。
tomcat立ち上げ後一度のみ下記のエラーが発生します。
「java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/sampledb」

ブラウザの更新ボタンで更新すると特に問題なくデータが取れてくるので何が原因なのかよくわかりません。
アドバイスいただけないでしょうか。

環境はそれぞれ以下のとおりです。
java 1.8
postgresql 11.3
driver 42.2.5
eclipse 2019-03 (4.11.0)

エラーが発生しているのは下記のソースです。

java

1// 【sampleServlet.java】 2 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 3 4 try { 5 // sampleServletのモデル 6 SampleModel im = new SampleModel (); 7 8 // 都道府県一覧を取得 9 ArrayList<LinkedHashMap<String, String>> prefList = im.GetPrefList(); 10 request.setAttribute("prefList", prefList); 11 12 } catch (ClassNotFoundException | SQLException e) { 13 e.printStackTrace(); 14 } 15 16 RequestDispatcher dispatcher = request.getRequestDispatcher("/jsp/index.jsp"); 17 dispatcher.forward(request, response); 18 } 19

java

1// 【sampleModel.java】 2 // 都道府県の一覧を取得 3 public ArrayList<LinkedHashMap<String, String>> GetPrefList() throws SQLException, ClassNotFoundException { 4 5 prefDao prefDao = new prefDao(); 6 prefDao.DBconnectOpen(); 7 ArrayList<LinkedHashMap<String, String>> res = prefDao.GetPrefList(); 8 prefDao.DBconnectionClose(); 9 10 return res; 11 12 } 13

// エラーが起こるのはこのソース

java

1// 【DBconnect.java】 2 3 public void DBconnectOpen() throws SQLException, ClassNotFoundException { 4 connect = DriverManager.getConnection(Define.DB.URL, Define.DB.USER, Define.DB.PASS); 5 } 6

java

1// 【prefDao.java】 2 // マスタ登録されている都道府県データを全て取得 3 public ArrayList<LinkedHashMap<String, String>> GetPrefList() throws ClassNotFoundException, SQLException { 4 5 String sql = "SELECT id, area_id, name FROM m_pref"; 6 7 ArrayList<LinkedHashMap<String, String>> al = selectToArrayList(sql); 8 9 return al; 10 11 }

java

1// 【DBconnect.java】 2 public ArrayList<LinkedHashMap<String, String>> selectToArrayList(String sql) throws SQLException { 3 try { 4 PreparedStatement ps = connect.prepareStatement(sql); 5 ResultSet rs = ps.executeQuery(); 6 7       ~ResultSetの内容を使いやすいように作り変える処理~ 8 9 rs.close(); 10 11 return ary; 12 13 } catch (SQLException e) { 14 throw e; 15 } 16 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/06/27 01:36

ブラウザ表示が関係するのでしたら、呼び出し部分とかタイミングに問題があるのではないかと推察されます。 もう少し全体の流れが分かるような、他者が再現できるコードをご提示いただけませんか?
asus2

2019/06/27 01:48

ご指摘ありがとうございます。 コードを追記しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問