- - PR -
DB(postgresql)において登録されてはずのデータが存在しない
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-12-14 15:46
javaにおいてpostgresqlに接続し、DBにデータをinsertしました。
そしてプログラムからそのデータをselectします。 selectは正常に行われます。 しかし、DB内を閲覧するとDBに登録したはずのデータが 登録されていません。 このような状況はどのようなことが起こってわかりません。 postgres.confはmax_connectionなどは設定値を変更してあります。 (postgresql reboot後復旧) 上記のような現象はなにが起きてるのかご教授よろしくお願いいたします。 また、その解決方法はどのような方法論があるのかもご教授いただけますと幸いです。 | ||||
|
投稿日時: 2004-12-14 16:23
こんにちは。
具体的に、どこを、どのように"閲覧"してるのですか? | ||||
|
投稿日時: 2004-12-14 19:19
返信ありがとうございます。
DBにlessonというものがあります。 lessonにあるテーブル内にuser_profileというテーブルが存在します。 また、上記にjdbcを利用してレコードをinsertしています。 そして、そのテーブルに対してjdbcを利用してそのレコードをselectします。 select後、結果がWEBページ表示、取得出来たことを確認。 その後、psql lesson後、select * from user_code where (isertしたデータを抽出条件) 0件取得。取得できないことを確認。 という動きです。 上記で説明足りましたでしょうか。 以上申し訳ございませんがよろしくお願いいたします。 | ||||
|
投稿日時: 2004-12-14 20:01
Insert したデータを commit しましたか?
| ||||
|
投稿日時: 2004-12-14 20:02
1. jdbcを通して投げているSQLと、psqlでDBに入ってから投げているSQLは同じですよね。 2. psqlでDBに入った後、where句を用いずに(要は条件を設定せずに)selectしても、 insertしたレコードは出てこないんですよね。 | ||||
|
投稿日時: 2004-12-14 20:24
返信ありがとうございます。 1.同じです。申し訳ございません。 2.情報不足で申し訳ございません。where句を用いずでもレコードは検出されませんでした。 以上よろしくお願いいたします | ||||
|
投稿日時: 2004-12-15 08:10
どのようなJavaプログラムなのか分からりませんが、
あんとれさんが書かれたように、プログラムの中で最後にcommitしているんですよね。 デフォルトではautocommitが有効になっていると思ってましたが... | ||||
|
投稿日時: 2004-12-15 10:53
DBへのコンソールからの接続と、Javaからの接続時に、
ユーザー名が違うってことはないですか? Javaプログラムからの接続ユーザー名は? コンソールから接続するときに、ユーザー名を明示して接続しても、同じことになります? | ||||
