Vine Linux2.6, Tomcat5, Postgresql7.4.3の環境で、
簡単なDBへアクセスのJspを作りましたが、実行したら、次のエラーができましたが、解決方法を
教えてください。
JSP File:
<HTML>
<HEAD><TITLE>User List</TITLE></HEAD>
<BODY>
<%@ page import="java.sql.*" %>
<TABLE BORDER=1 width="75%">
<TR><TH>UID</TH><TH>Password</TH></TR>
<%
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try {
Class.forName("org.postgresql.Driver").newInstance();
conn =
DriverManager.getConnection("jdbc:postgresql://xxx.xxxx.xx.xx:8080/webshop","postgres","xxxx");
st = conn.createStatement();
rs = st.executeQuery("select * from tbllogin");
while(rs.next()) {
%>
<TR><TD><%= rs.getString("fldlogid") %></TD>
<TD><%= rs.getString("fldpwd") %></TD></TR>
<%
}
%>
</TABLE>
<%
} catch (Exception ex) {
ex.printStackTrace();
%>
</TABLE>
Ooops, something bad happened:
<%
} finally {
if (rs != null) rs.close();
if (st != null) st.close();
if (conn != null) conn.close();
}
%>
</BODY>
</HTML>

Tomcat5のログcatalina.out:
org.postgresql.util.PSQLException: The backend has broken the connection. Possibly the action you have attempted has caused it to close.
at org.postgresql.core.PGStream.ReceiveChar(PGStream.java:168)
at org.postgresql.jdbc1.AbstractJdbc1Connection.openConnectionV3(AbstractJdbc1Connection.java:291)
.....

このQ&Aに関連する最新のQ&A

A 回答 (1件)

パッと見ただけですが、下記のところが怪しいかと。



-----------------------------------------------
DriverManager.getConnection("jdbc:postgresql://xxx.xxxx.xx.xx:8080/webshop","postgres","xxxx");
-----------------------------------------------

この部分は、

jdbc:postgresql://(PostgreSQLのホスト名orIPアドレス):(PostgreSQLのポート番号)/(database名)

という書式です。
TomcatとPostgreSQLが動いているサーバが同じであれば、ホスト名の部分は“localhost”になります。また、PostgreSQLのポート番号はデフォルトで5432です。おそらく、8080はTomcatのポート番号ではないでしょうか。
ポート番号の後ろにはデータベース名が入りますが、“webshop”であっていますでしょうか。

TomcatとPostgreSQLが動いているサーバが同じで、PostgreSQLのポート番号がデフォルトのままで、データベース名が“webshop”とすると下記の様になると思います。

-----------------------------------------------
DriverManager.getConnection("jdbc:postgresql://localhost:5432/webshop");
-----------------------------------------------

参考URL:http://www.postgresql.jp/document/pg743doc/html/ …
    • good
    • 0
この回答へのお礼

すごいでござる。
どうも、ありがとうございます。

お礼日時:2004/08/18 15:06

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QPostgreSQLの「not null」制約の追加

こんにちは。いつもお世話になります。

PostgreSQLのversion7.2.8で、「not null」制約の追加、削除の方法をおたずねします。よろしくお願いします。

ALTER TABLE テーブル名 ALTER COLUMN カラム名 SET NOT NULL;

で試したところ、syntaxエラー(構文エラー)で失敗。

ALTER TABLE テーブル名 ALTER COLUMN カラム名 DROP NOT NULL;

で試してみても、同じくsyntaxエラーです。

version7.2.8が原因でしょうか?
また、version7.2.8でも「not null」制約の追加、削除が
できる他の方法はありますでしょうか?

テーブルを作り直さずに、
既存のテーブルのカラムへの制約の追加、削除をしようとしています。

よろしくお願いします。

Aベストアンサー

マニュアルを見てみたところ、ALTER TABLEでの既存列のNOT NULLの追加や削除は、PostgreSQL 7.3で実装のようですね。

>テーブルを作り直さずに、既存のテーブルのカラムへの制約の追加、削除をしようとしています。

ALTER TABLEで、NOT NULLを許可しない列の追加などを行うと、内部的にはテーブルの作り直しが行われますよ?

Qorder by int型の降順(DESC)でnullも混ざっている時、nullは下の方にするには?

すみません。
postgreSQLでint型をorder byする時、
null も混ざっているのですが、
null は下の方の順番(1より下(0以下はないとして))に来るようにするには、
通常どのように書くものでしょうか???
もしかしたら簡単な事かもしれなくて、
もうしわけないのですが、どなたかよろしくおねがいします。

Aベストアンサー

#1回答者です。
降順という質問でしたね。以下のSQLで大丈夫だと
思います。

select * from (select c1,c2,coalesce(c3,0) from u1.t1) as wt1(wc1,wc2,wc3)
order by wc3 desc

QpostgreSQLの初期設定について

現在fedoracore5を導入し、postgre8.1の初期設定を行っております。

インターネットの説明にはpostgresql.confに『tcpip_socket = true』の設定を追加すると記載さてれております。
しかし、そのような記載を行わなくても別端末からssh接続で操作することが可能でした。

V8.1からpostgresql.confファイルの編集はしなくてよい事になったのでしょうか?また、fedoracore5の導入時に入っているpostgreSQLのデフォルトバージョンはいくつなのでしょうか?

今回はFedoraCoreからyum installで導入したのですが、これは最新のモジュールをダウンロードし、インストールしているという認識でよいのでしょうか?

質問ばかりとなてしまい大変申しわけないですが、どなたかご回答をお願いいたします。

Aベストアンサー

FC5のデフォルトは分からんが・・・・。

> V8.1からpostgresql.confファイルの編集はしなくてよい事になったのでしょうか?
 ssh接続って・・・・別端末からsshでFC5に接続後、psqlを叩いたって事? だよね?
 この場合はUNIXドメインソケットが使われています。tcpipソケットは使われていないので閉じられているのかも知れない。調べるには、別端末からtelnetなどで接続してみると良い。デフォルトポートだと、
$ telnet FC5のマシンのIPアドレス 5432

> 今回はFedoraCoreからyum installで導入したのですが、これは最新のモジュールをダウンロードし、インストールしているという認識でよいのでしょうか?
 そうね。yumを使っているのなら最新版が入ったんじゃないかな。

QLinux+PostgreSQLでの設定

こんにちは。
Linux+PostgreSQLでpg_hba.confの設定がよく分からず困っています。
リモートからは使用せず、localhostのみの接続を許可したいのですが、
どのように設定すればいいのでしょうか?
CentOS5+PostgreSQL8.1.9です。

Aベストアンサー

マニュアルを参考にして
http://www.postgresql.jp/document/pg815doc/html/client-authentication.html#AUTH-PG-HBA-CONF
何がよく分からないのか提示してください。

質問の要件のみだったらこんな感じじゃないかな。
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 127.0.0.1/32 trust
trustのとこはauth-methodから選択してね。

Q教えて下さい。WindowsPCでPostgreSQLのテーブルを表示させる方法

Windows2000PCからDB(PostgreSQL)内のテーブルを表示させる方法について。
(WindowsPCとLinuxPCは別のPC)

二度目の挑戦です。
とりあえず、servletを使用し、DB内で作成したテーブルをLinux側で表示させたいです。

どうも、JDBCがうまくいってない感じです。
CLASSPATH設定は、tomcat4.0以降だと違うのですか?
pg_hba.confの設定はどうするのですか?

RedHatLinux7.3をインストールしました。
その他にインストールする予定なものが、
tomcat
Apache
mod_jk ? (mod_webapps ?)
JDK
JDBC
ANT
です。

上記のバージョンにより、適応しなかったり、不具合が起こるなど、いろいろ問題があるみたいなので、問題なく進められるバージョンを教えて下さい。
(今お使いのバージョンなど)
また、インストールする順番など。
出来れば、全体の大まかな流れについても参考にさせてもらいたいです。

まだ勉強不足で、ネットで調べても人によって違うので、間違えっぱなしです。

質問多すぎてすいません。
1つでもいいので教えて下さい。
よろしくお願いします。

Windows2000PCからDB(PostgreSQL)内のテーブルを表示させる方法について。
(WindowsPCとLinuxPCは別のPC)

二度目の挑戦です。
とりあえず、servletを使用し、DB内で作成したテーブルをLinux側で表示させたいです。

どうも、JDBCがうまくいってない感じです。
CLASSPATH設定は、tomcat4.0以降だと違うのですか?
pg_hba.confの設定はどうするのですか?

RedHatLinux7.3をインストールしました。
その他にインストールする予定なものが、
tomcat
Apache
mod_jk ? (mod_webapps ?)
JDK
JDBC
ANT
...続きを読む

Aベストアンサー

sonarです。2度目ですね。(^^)

確認なのですが
JDK,TomcatでサーブレットやJSPの
動作確認まではできていたのでしょうか?
インストールしたバージョンと併せて教えてください。

Apacheとの連携はとりあえず置いといて
まずはJDBCを使えるように頑張りましょう。

>CLASSPATH設定は、tomcat4.0以降だと違うのですか?
>pg_hba.confの設定はどうするのですか?

CLASSPATHはTomcatのバージョンとは関係ありません。
ポスグレの設定はとりあえず
pg_hba.conf(7.3以上の場合)-------
host all all 127.0.0.1 255.255.255.255 trust
---------------------------------

postgresql.conf-----
tcpip_socket = true
--------------------
を設定しておけばJDBCから接続できます。
pg_ctl reload などで設定を有効にしてください。
(ポスグレの再起動でもよいです。)

JDBC以外はあまりバージョンは気にしなくても
よいと思います。

順番の方は
ポスグレをソースで入れてJDBCドライバを自前でこしらえるのであれば
・JDK
・ANT
・PostgreSQL
・Tomcat
になろうかと思います。
*Apacheやmod_JKはいつでもよいです。

sonarです。2度目ですね。(^^)

確認なのですが
JDK,TomcatでサーブレットやJSPの
動作確認まではできていたのでしょうか?
インストールしたバージョンと併せて教えてください。

Apacheとの連携はとりあえず置いといて
まずはJDBCを使えるように頑張りましょう。

>CLASSPATH設定は、tomcat4.0以降だと違うのですか?
>pg_hba.confの設定はどうするのですか?

CLASSPATHはTomcatのバージョンとは関係ありません。
ポスグレの設定はとりあえず
pg_hba.conf(7.3以上の場合)-------
host all all...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報