- - PR -
続ODPを使いたい
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-05-11 17:20
前にあったスレッドで同じような事で困っています。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5170&forum=7&8 ODPを使用してOracleにアクセスしています。 「SELECT TANTO_CODE FROM 担当者マスタ」はOKですが 「SELECT 担当者コード FROM 担当者マスタ」はdatareader = cmd.ExecuteReader の所で「ORA-00936 式がありません」というエラーが発生。 SELECTの項目名を漢字にするとNGになります。テーブル名は漢字でもOK 対策も前スレッドと同じで「SELECT "担当者コード" FRM 担当者マスタ」 (日本語列名を2重引用符でくくる)とOKです。 ただ、別の環境のマシンでテストを行うと「SELECT 担当者コード FROM 担当者マスタ」 だけでエラーになりません。 ここで質問ですが 質問1.ODPの動作環境によって日本語列名を2重引用符でくくる必要があるので しょうか? 質問2.列名を2重引用符でくくる意味合いって何ですか? 今までのOracleの開発で項目名を2重引用符でくくったような経験はありません。 質問3.Oracleの開発で日本語列名の時は2重引用符でくくった方がベストなのでしょうか? どうかよろしくお願いします。 | ||||||||
|
投稿日時: 2004-05-11 17:58
パンダさん、こんばんは。
というよりも、ベストは日本語名を使わない事です。 | ||||||||
|
投稿日時: 2004-05-11 18:11
確かにそうかもしれませんが、既に開発が進んでいるところなので 逆戻りができない状態で困っています。 何かご存知であれば教えて下さい。 | ||||||||
|
投稿日時: 2004-05-11 18:30
パンダさん、こんばんは。
二重引用符の意味については、Oracle の マニュアル(「SQL言語リファレンス」)の、オブジェクトの命名規則のところに詳しく説明されています。 | ||||||||
|
投稿日時: 2004-05-11 18:51
ビューを使ってアプリからは ビューを参照するという方法もあります。 | ||||||||
|
投稿日時: 2004-05-11 19:23
Oracleの、「Oracle9i SQLリファレンス. リリース2(9.2)」というドキュメントにこんなことが書いてありました。
私も二重引用符で囲まなかったことがありますが、たまたまその環境がうまく解釈してくれたということではないでしょうか。 日本語名は必ず二重引用符でくくってください。 |
1