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

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

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

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

PostgreSQL

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

Java

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

Q&A

解決済

1回答

15696閲覧

JDBCを使用しJavaからpostgreSQLへの接続方法

tanaka1202

総合スコア14

JDBC

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

PostgreSQL

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

Java

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

0グッド

0クリップ

投稿2017/04/19 14:02

###前提・実現したいこと
JDBCを使用しJavaからpostgreSQLへの接続
###発生している問題・エラーメッセージ

HTTPステータス 500 - org.postgresql.util.PSQLException: サーバはパスワード・ベースの認証を要求しましたが、いかなるパスワードも提供されませんでした。

###該当のソースコード
public static ResultSet doSQL(String sql) throws Exception {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;

try { Class.forName("org.postgresql.Driver"); conn = DriverManager.getConnection( "jdbc:postgresql://localhost:5432/postgres,postgres,password"); stmt = conn.createStatement(); rs = stmt.executeQuery(sql); } finally { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); } return rs;

###試したこと
pg_hba.confの設定は
IPv4 local connections:
host all all 127.0.0.1/32 md5
となっていることを確認
"md5"を"trust"に変更し実施したところ下記エラーメッセージの出力
HTTPステータス 500 - org.postgresql.util.PSQLException: FATAL: データベース"postgres,postgres,password"は存在しません (pgjdbc: autodetected server-encoding to be MS932, if the message is not readable, please check database logs and/or host, port, dbname, user, password, pg_hba.conf)

localhost:5432/postgres,postgres,password
部分の設定内容はpsqlにて確認
Server [localhost]:
Database [postgres]:
Port [5432]:
Username [postgres]:

Javaを初めたばかりで分からないことが多いですが、ご回答お願いします。

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

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

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

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

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

SVC34

2017/04/19 22:16

質問文のコードはコードブロックで囲んでください
tanaka1202

2017/04/22 03:31

ありがとうございます。次回から気をつけます。
guest

回答1

0

ベストアンサー

ユーザ名とパスワードはそれぞれ別の引数として指定する必要があります

java

1conn = DriverManager.getConnection( 2"jdbc:postgresql://localhost:5432/postgres", "postgres", "password");

31.2.3. データベースへの接続

投稿2017/04/19 14:14

編集2017/04/19 14:25
SVC34

総合スコア1149

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

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

tanaka1202

2017/04/22 03:31

ありがとうございます。 解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問