[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
-,

関連記事

[ORACLE]最初の有効値を返すCOALESCE・・・読み方分からねぇw

知らなかったら、多分CASEとかで判定してた。 まぁ、人の書いたSQLは勉強になるよねって話・・・じゃないなw 事の発端は、今のプロジェクトで別の人が作った画面の修正をやることになったこと。 その人は …

Oracle11gでパスワードの有効期限を変更する

先日のOra-28001ですが、他のユーザーも同様になってましたw 当然ですね・・・ 日本の中心付近で仕様変更と闘うSE日記Oracleで「Ora-28001:the password has exp …

[ORACLE]指定日付の月末を取得する

LAST_DAYで月末を取得する LAST_DAYを使います。 実際、仕様で、ある項目には月末を入力させるとか、翌月1日を指定するとかいうのが指定されたりします。 細かく計算してると正直面倒くさいです …

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

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

[Oracle]長文SQLをWITH句を使って、SQLの繰り返しをまとめる

自分、WITH句アレルギーです\(^o^)/ 今でこそ、使うようになりましたが、最初は拒否反応バリバリでした。 だって、WITH句で何ができるのか良く分からなかったからです。 VIEWのように使えるか …


カテゴリー