指定した曜日が無効です。指定した曜日が無効です。SQLエンジンは現在のNLS_DATE_LANGUAGEで入力文字列の週の日の値を認識できません。この投稿では、以下に示すORA-01846のエラーパターンについて説明します。指定した曜日が無効です。指定した月が無効です。指定した月が無効です。SQLエンジンが現在のNLS_DATE_LANGUAGEで入力文字列の月の値を認識できないことを意味します。この投稿では、以下に示すORA-01843のエラーパターンについて説明します。月の値に何も問題がないように見えるかもしれませんが、使用した月の値はOracleで受け入れられない場合があります。それから、日本語で8月を意味する"八月"という用語を使用しました。指定した月が無効です。2019ORA-12705では、NLS設定が正しくないことを示しています。データベースに対して何かを実行する前に、まずそれらを修正する必要があります。この投稿にはORA-12705の2つのエラーパターンがあります。データベースに接続する前に故意に偽のNLS_LANGを設定しましょう。これは、Oracleが使用するために選択する環境変数です。NLS_LANGの形式については、NLS_LANG方法と理由を確認できます。データベースに接続しようとしました。ORA-00904は、文の中で一致しない列名または誤った構文を使用したことを意味します。SQLブロックで発生している可能性があります。ほとんどのユーザーはそのエラーを信じていませんが、実際にSQLパーサーは間違いを犯したことが一度もないので、この記事でエラーパターンを見てみるのが好きかもしれません。エラーパターンの1つがあなたのケースにマッチします。ほとんどのエラーは大文字と小文字を区別する問題なので、最初に緩い形式と厳密な形式の違いを説明する必要があります。通常、Oracleは、パスワード以外の大部分の識別子を大/小文字を区別しないものとして扱います。ORA-00904無効な識別子が生成された場合に注意が必要な特別な使用法がいくつかあります。ORA-00904だけでなく、ORA-00903およびORA-00911も、オブジェクト識別子の無効な使用法に関連しています。具体的には、ORA-00903は無効なテーブル名をユーザーに警告し、不正な文字を配置するためにORA-00911が発生します。Databaseのオブジェクト名と修飾子によると、データベース・オブジェクトを作成するための有効な命名形式は2種類あります。1つは引用符で囲まれていない識別子、もう1つは引用符で囲まれた識別子です。ORA-00904を回避するには、2つの命名形式の明確な違いを知っておく必要があります。句読点やその他の特別な扱いに囲まれていません。基本的に同等の文字列である限り、SQLステートメントでは大文字と小文字を区別せずに柔軟に使用できます。私は通常この記事でそれを緩い形式と呼びます。"")で始まり、終わります。空白や予約語を含め、ほとんどすべての文字を二重引用符で囲むことができます。この種の識別子は、最初に定義されたとおりに使用する必要があります。私は通常、この記事ではそれを厳密な形式と呼びます。私の知る限りでは、これがORA-00904の主な原因です。後ほど、ORA-00904無効な識別子についても詳しく説明します。ほとんどの場合、列名の誤用がORA-00904の主な原因であり、残りは構文エラーです。この記事では、次の項でORA-00904のいくつかのエラー・パターンについて説明します。一致する認証プロトコルがありません。9iクライアントは12cデータベースに接続します。ORA-28040が登場するとは思っていませんでした。JDBCドライバを使用しているときにも同じエラーが発生する可能性があります。JDBCドライバについて、ORA-28040を使用して詳細に説明します。ORA-28040の内容を見てみましょう。クライアントとサーバーの両方で有効な認証プロトコルがありません。管理者は、クライアントとサーバーの両方で、SQLNET.ALLOWED_LOGON_VERSION_SERVERおよびSQLNET.ALLOWED_LOGON_VERSION_CLIENTパラメータの値を、システムでサポートされている最小バージョンのソフトウェアと一致する値に設定する必要があります。このエラーORA-28040は、クライアントソフトウェアのバージョンに適した検証機能なしで作成されたユーザーアカウントに対してクライアントが認証を行っているときにも発生します。この状況では、必要な検証者が生成され、認証が正常に続行されるようにするために、そのアカウントのパスワードをリセットする必要があります。ORA-28040に関する上記の説明によると、クライアントまたはサーバーのどちらかが受け入れる互換性のある認証プロトコルを提供する必要があります。クライアントをアップグレードするのかということです。実際、それはあなたが持っている特権によって異なります。データベース管理者は、すべてのユーザーの問題を一度に解決するようにサーバー構成を変更できます。12cデータベースの認証済みプロトコルと一致させるために、Oracleクライアントを修正またはアップグレードすることしかできません。さまざまな適用可能な状況をよりよく理解するために、この記事ではORA-28040に対する解決策を2つの主要部分に分けます。最初の部分はサーバー側、もう1つはクライアント側です。