C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 複数テーブルからSQLで取得したデータをデータセットに。


(過去ログ 62 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■35835 / inTopicNo.1)  複数テーブルからSQLで取得したデータをデータセットに。
  
□投稿者/ てんぱり (1回)-(2009/05/14(Thu) 19:48:00)

分類:[.NET 全般] 

SAP.NET超初心者です。
ASP.NET+Oracle10g+VisualStudio2008でVBでゴリゴリ開発しています。

複数のテーブルからSQLで取得したデータをデータセットに入れたいのですが、
下記のようなエラーメッセージが表示され、うまく動作しません。
どなたかご教授いただけませんでしょうか?
<<エラーメッセージ>>
ORA-00918:列の定義が未確定です。
(下記略ソースの11行目で上記エラーが出ています。)

<<略ソース>>
01 cnn.ConnectionString = "User Id=ID;Password=PassWord;Data Source=DB"
02 cmd.Connection = cnn
03 sSQL = "select * from TA "
04 sSQL2 = "select TA.*, TB.* from TA,TB where TA.Key = TB.Key "
05 cmd.CommandText = sSQL
06 Dim da As New OracleDataAdapter(cmd)
07 Dim ds As New DataSet()
08 da.SelectCommand = cmd
09 da.Fill(ds, "TA")
10 da.SelectCommand = New OracleCommand(sSQL2, cnn)
11 => da.Fill(ds, "○○○○")
12 ds.Relations.Add("Relate", ds.Tables("TA").Columns("Key"), ds.Tables("○○○○").Columns("Key"), False)
13 rep.DataSource = ds.Tables("TA")
14 rep.DataBind()

どなたかご教授いただきますようお願いします。

引用返信 編集キー/
■35856 / inTopicNo.2)  Re[1]: 複数テーブルからSQLで取得したデータをデータセットに。
□投稿者/ まさる (84回)-(2009/05/14(Thu) 22:50:08)
まさる さんの Web サイト
No35835 (てんぱり さん) に返信
> <<エラーメッセージ>>
> ORA-00918:列の定義が未確定です。
> (下記略ソースの11行目で上記エラーが出ています。)

> 04 sSQL2 = "select TA.*, TB.* from TA,TB where TA.Key = TB.Key "

おそらくSQLで指定しているテーブルTA、TBに同じ名前の列があると思います。
その上でselect句かwhere句にて、「TA.hoge」のようにテーブル名で修飾せずに、
「hoge」のような形でその同名の列を使用していませんか?

この場合、TA、TBどちらの列を指定しているか判断できないため、ORA-00918が発生します。


なお、ORA-00918のエラーの詳細については、以下のOTNのページから検索できます。
(OTNへの登録が必要です)
http://otn.oracle.co.jp/document/msg/index.html
引用返信 編集キー/
■35878 / inTopicNo.3)  Re[2]: 複数テーブルからSQLで取得したデータをデータセットに。
□投稿者/ てんぱり (2回)-(2009/05/15(Fri) 09:03:31)
No35856 (まさる さん) に返信
さっそくのお返事ありがとうございます。

> おそらくSQLで指定しているテーブルTA、TBに同じ名前の列があると思います。
> その上でselect句かwhere句にて、「TA.hoge」のようにテーブル名で修飾せずに、
> 「hoge」のような形でその同名の列を使用していませんか?
>
> この場合、TA、TBどちらの列を指定しているか判断できないため、ORA-00918が発生します。

Select句でもWhere句でも接頭語ですべて修飾しております。
SqlPlusなどで、そのSQLを実行しても問題なく結果が返ってくるのでSQL自身は問題ないと
思っているのですが...
困りました...

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -