- - PR -
DatabaseMetaDataのgetPrimaryKeysメソッドについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-01-25 13:22
プライマリキーの項目を取得したいのですが、
DatabaseMetaData dmd = con.getMetaData(); ResultSet rs; rs = dmd.getPrimaryKeys(null, "ユーザ名", "テーブル名"); String str = ""; while (rs.next()) { str = rs.getString("COLUMN_NAME"); } 通常上記のように取得できるのですが、 テーブルを作成しなおし、プライマリキーも作成しなおした後、 古いプライマリキーを取得してしまいます。 同じような経験がおありの方、対応方法等ご存知の方、 ご教授頂けませんでしょうか。 宜しくお願い致します。 | ||||
|
投稿日時: 2007-01-25 13:39
コネクションをプールしたままテーブルを再作成したってことですか?
JDBCドライバは何を使っていますか? コネクションが有効なままテーブルを再作成すると、 JDBCドライバの実装によっては キャッシュされているメタデータを返すことも考えられます。 どのみち情報が少ないので、回答が難しいです。 | ||||
|
投稿日時: 2007-01-25 14:03
かつのりさん
早速の回答、ありがとうございます。 tomcat5.5.20 Oracleのclasses12.jarを使用しています。 common/lib/の下に配置し、 Oracleなどいろいろ再起動していますが、 回復しないのです。 宜しくお願い致します。 | ||||
|
投稿日時: 2007-01-25 18:29
いろいろって何ですか? こっちは超能力者ではないので、 あなたが何に対して何をやって、どういう現象が発生しているのか、わかりません。 アプリケーションサーバも再起動していますか? | ||||
|
投稿日時: 2007-01-25 19:26
失礼しました。
ご指摘のとおり、いろいろでは、わかりませんね。 APサーバ(tomcat)、Oracleのサービス、Windowsの再起動です。 ご確認宜しくお願い致します。 |
1