C# OracleDbAccessを使用して、SQL実行時にORA-00911 文字が無効です のエラー

投稿日:

表題のとおり、C#でOracleDbAccessを使用して、SQLを実行させる時に発生しました。

ネットで探すと、

  • 全角スペースが原因

とか出てきたので、SQL内のスペースを全て半角スペースに置き換えるも、エラーは発生・・・。
文字なので、Where句などで使用しているパラメータが影響しているのか???
と思ったけど、それも違う。

そもそも、SQLPlusでは実行可能なSQLを作成し、コピーしているのでSQL単独の問題では無いはず・・・
ベースの処理部分も、他の似た処理をコピペしてSQL部分だけ変更している・・・
っていうか、SQLPlus上では、全角スペースがあってもエラーにはならなかった。

で、コピー元のソースを(SQL以外の部分を見比べると・・・

SQLにセミコロン「;」が付いていました。
セミコロンを削除したら、エラーは発生せず。

以前、別のプロジェクトで同じ事で悩んだ気がするけど、かけらも思い出さなかったw







-C#, ORACLE
-,

関連記事

ORACLEでCASE文を使用した時にORA-00932のエラーが出る

割と悩んだ・・・ 原因は、CASE文で使用している項目のデータ型が異なるのが原因みたいだけど、正直、ぴんと来てない現実w select case name when ‘A’ then ‘あ’ when …

OracleでLISTAGG関数を使ったけど、世界を変えられなかった話・・・

OracleでLISTAGG関数を使ったら、世界が変わった話。 はい、休日出勤でした。 そして、休日出勤の結果、以下のことが分かりました(泣 日本の中心付近で仕様変更と闘うSE日記OracleでLIS …

partition by を使って、ORACLEで、グループ毎に1行だけ取得する。

グループ単位で一番小さいとか、一番大きいとかだけなら、MinやMaxを使って外部結合で対応できるんだけど、1番目2番目3番目を1列で取得しなきゃいけない状態になったので、調べて解決。 「partiti …

Oracleで複数レコードを更新する方法

UPDATE文で、複数のレコードを一回のトランザクション内で更新する必要に迫られました。 基本的に、今まで使ってきたUPDATE文では、 UPDATE tableA set COL1 = 1 ,COL …

Excelでシートをコピーする時に、「名前が既に存在します。」と言われるのを回避して、Excel出力を早くしたい。

結論から書いてしまうと、名前の重複を削除しても、Excelの出力は別に早くならなかった。 早くなるという意味だと、手動でシートをコピーした時に、いちいちダイアログの対応をしなくて済むので、自分で作業し …


カテゴリー