• ベストアンサー

Accessから”表名.カラム名”でデータが取り出せない

 Java(sdk1.4.2)よりSQLを発行し、Access(2002)のMDBを操作しています。 複数テーブルをJoinで接続し、データを抽出しているのですが、対象2テーブルに同じ"haneibi"と云う項目が有るので、レコードセットからの取り出し処理の際に” wk_T1haneibi = rs.getString("表名.haneibi”)と云う記述をした所、SQLException Column Not Foundで処理が終了してしまいます。 wk_T1haneibiはStringで、haneibiも文字型のデータが入っています。 過去、表名.カラム名で修飾をした際、同じ事態に陥り、ユニークなカラム名だったので表名の修飾を外した所、事態が解消しました。今回は重複名を変更出来ない為、安易な回避が出来ず困っております。 尚、Joinのパラメータでは”表名.カラム名”の修飾が何故か問題なく出来ています。 事態解消にお手をお貸し下さいまし。

質問者が選んだベストアンサー

  • ベストアンサー
  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

ResultSetMetaDataを取得してカラム名を表示させてみてはいかがでしょう? そうすればAccessからどのようなカラム名で取得されているのかわかりますよね。

Adenau
質問者

お礼

 とりあえず原因究明の足掛かりとなりました。 結局、取り出せない事態は解決しませんでしたが、カラム名重複項目の内容がどちらも表示対象から除外されたので、結果オーライとなりました。

Adenau
質問者

補足

 多少てこずりましたが、ResultSetMetaDataを表示させて見ました。すると、どちらも"ColumnName = hanneiBi"と云う表示がされています。 どうしたら、分けて取り込めますでしょうか…。

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

”表名.カラム名”の個所を ”[表名].カラム名”の個所をとすると、どうなりますか? "."は半角で記述してありますね?

Adenau
質問者

補足

回答有難うございます。 "."は半角で有る事を確認の上、"[表名].~"を実行してみました。残念ながら発生箇所と事態(Column not found)に変更は有りませんでした。

関連するQ&A