@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

C#でのSQL文

1
投稿者投稿内容
いなば
会議室デビュー日: 2007/09/20
投稿数: 14
投稿日時: 2007-11-20 10:58
よろしくお願いします。

C#のプログラムの中で
以下のようなSQLを実行しています。
実行すると
「ORA-00923:FROMキーワードが指定の位置にありません。」
のエラーメッセージが出ます。

-----------------------------------------------------
SELECT CODE AS コード,
PTN AS パターン
FROM MST
-----------------------------------------------------

SQLPLUSで実行すると、問題なく実行できるのですが
C#の中で実行するとエラーが発生します。

"ー"を消すと問題なく、C#の中でも実行できるのですが
できれば、列別名を変更したくありません。

原因を調べていますが
ネット上でいろいろ調べたのですが
わかりませんでした。
原因を教えてください。

よろしくお願いいたします。
まるく
大ベテラン
会議室デビュー日: 2004/01/09
投稿数: 181
投稿日時: 2007-11-20 11:16
引用:

"ー"を消すと問題なく、C#の中でも実行できるのですが
できれば、列別名を変更したくありません。


この↑文章の意味が判りませんが、
とりあえず列別名に日本語使う場合は「"」で囲むです。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-11-20 11:18
とりあえずダブルクォート「"」

#かぶった。。。
_________________
かるあ のメモ
http://karua.at.webry.info/

[ メッセージ編集済み 編集者: かるあ 編集日時 2007-11-20 11:20 ]
こあら
大ベテラン
会議室デビュー日: 2007/06/26
投稿数: 157
投稿日時: 2007-11-20 11:18
引用:

原因を教えてください。



"ー"だと思います。

出遅れるとハズカシイ・・・


[ メッセージ編集済み 編集者: こあら 編集日時 2007-11-20 11:22 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-11-20 22:16
引用:

いなばさんの書き込み (2007-11-20 10:58) より:
原因を調べていますが
ネット上でいろいろ調べたのですが
わかりませんでした。
原因を教えてください。


ネットで調べるからだよ。リファレンスを読むこと。
ASCII 7bit コード以外の文字を使うときは二重引用符で囲む、と定義されている。

引用:

SQLPLUSで実行すると、問題なく実行できるのですが


たまたま、偶然、問題がないように見えているだけ。


> とりあえず列別名に日本語使う場合は「"」で囲むです。
"列別名"だけでなく、オブジェクト名(用語忘れた)全部です。

> 出遅れるとハズカシイ・・・
投稿できる時間が限られていると悔しい。。。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2007-11-21 10:17
使用しているデータベースやそのバージョン位は書いた方が良いですね。

10gのドキュメントですが、
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19201-02/sql_elements.html#56722
「スキーマ・オブジェクトのネーミング規則」という項目の中に
非引用識別子には、データベース・キャラクタ・セットの英数字、アンダースコア(_)、ドル記号($)およびシャープ記号(#)のみ含めることができます。
とあります。
非引用識別子というのは二重引用符で囲わない識別子のことです。
つまり、二重引用符で囲わずに上記以外の文字を使った場合は動かない可能性が十分にあるってことです。

R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2007-11-21 11:22
引用:

一郎さんの書き込み (2007-11-21 10:17) より:

使用しているデータベースやそのバージョン位は書いた方が良いですね。


と言いつつ、皆さんエラー番号から Oracle であることを把握して回答している・・・w

日本語を含める場合は、基本的に何らかの引用符を持ちいる場合が多いですね。

_________________
R・田中一郎 -  R.Tanaka.Ichiro’s Blog
いなば
会議室デビュー日: 2007/09/20
投稿数: 14
投稿日時: 2007-11-21 15:25
返答が遅くなりまして申し訳ありません。

皆さんありがとうございます。
「”」をつけたらエラーが出なくなり
実行できました。

一郎様、今後、データベース、バージョンを書くように致します。

本当にありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)