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]regexp_replaceで、改行コード・タブとかのCSV出力時に邪魔になるものを消す

通常、スペースを消したい時とかなら、replaceとかtrimとかで一括で処理してたんだけど、CSVに出力したい時に、複数の処理を纏めるのがスゲェ面倒くさかった。 それがregexp_replaceで …

[C#]ToStringメソッドで簡単に桁区切りを実現する方法

結論 ToStringメソッドと書式設定で解決。 int a = 1; int b = 1; int ab = a * b; string c = ""; //「1」になる c = …

[ORACLE]Oracleに接続できない時に確認すること

Oracleを新しくインストールした時に、中々接続できなかったので、その時に確認しておくべき事項のまとめ。 少なくとも、これは先にやっておいた方がいいこととか。 前提条件 前提と書くとものものしいけど …

ORACLEでDELETEとTRUNCATEのどちらを使うか。

未だに迷う。 例えば、テーブル全件削除をしたいときは delete * from tableA; delete文なら、こうだし。 truncate tableA; truncate文なら、こう。


カテゴリー