[ORACLE]多分、例外的なora-00911:文字が無効ですエラーの解決方法

投稿日:2019-01-07

多分、このエラーを目にする機会はそれなりにあって、大体の対処法はググればすぐに見つかると思う。

例えば、

  • SQL実行時にはOKなのに、C#のOracleDbAccess実行時にエラーになる
  • 全角スペースが原因

など。

ググった結果、今回はどれも該当せず・・・

クエリとしては一見問題なさそうなのに、そもそも


SQL>@(実行するクエリ).sql

sqlplusで実行しようとしても駄目。

使用不可能文字とか、特殊文字なんて何も使用していないただのINSERT文。

別に、ちょっとしたデータ作成だけだったので、別テーブルからコピーしちゃうとか、Excelで該当項目用のデータを作成してコピペで問題なく対応出来る内容なので、一旦、コピペで対処。

ただ、開発用DBの入れ替えを行った後には毎回行うので、コピペ前提だと作業忘れとか出てきそうなので、dumpの入れ換え後に自動実行するようにしたかった。

一旦、他の作業をすすめつつ、並行して調査。

調べても調べても自分の症例に合うような検索結果はヒットせず・・・

ということで、全部で9ヶあったうちの1ヶを全て手入力しなおしてみた。

実行できたw

どういうことだよwwwと重いつつも、他のクエリも同様に全て入力しなおしたら実行できたw

意味が分からないが、クエリとして根本的に間違ったものを書いていたわけじゃなかったので一安心・・・したけど、すごく釈然としなかった。

とりあえず、原因・・・かもしれないものはExcelで項目を並べて連結した点ぐらい。

項目名とか、入力値とか並べるのって、面倒くさいじゃないですか。

アレをExcelでやっちゃったときに、変な書式でも紛れてた可能性ぐらいしか思い当たらない。

ということで、一見正しいクエリでora-00911:文字が無効です のエラーが出た時は、クエリ作成ツールとか手打ちとかじゃない場合は、一度、クエリの打ち直しを試してみると良いですよという話。







-ORACLE
-,

関連記事

SQL文中で全角文字を使うなと言われたので、ORACLEでJOIN句の条件式をCASE文で分岐させる

JOINの条件式にCase文を入れる http://blog.goo.ne.jp/ilikehobby/e/80b471f96f6d693b6c5df75f18591c0e SQL文中で全角文字を使う …

Oracle Database Bronzeの勉強を始めました。

業務でOracleを使ってます。 DBへの接続と簡単なSQLの確認ぐらいだったら、SQLDeveloperとかのツールを使わずにSQLPlusだけで済ませちゃう人も多いのかな? あとは、SQLのバッチ …

[ORACLE]ora-12638 資格証明の取出しに失敗しましたと表示される原因と対処法

客先で起こった内容。 状況 客先のdumpを取得するために、用意されているバッチファイルを実行した時に発生 ora-12638 資格情報の取出しに失敗しました バッチファイルの黒い画面で一瞬だけエラー …

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

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

[C#]リストをカンマ区切りの文字列で出力する

リストの項目をカンマ区切りで出力したい 卵が先か鶏が先か~って話じゃないんですが、リストで出力した内容をカンマ区切りのデータにする必要が出てきたので、調べました。 List<string> …


カテゴリー