問題タブ [ora-01722]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1168 参照

perl - オラクルのシーケンスの問題

まず、perl スクリプトで oracle にシーケンスを作成しました。シーケンスが既に作成されているというエラーが表示されます。シーケンスをリセットする手段はありますか (作成または置換は機能しません)。

上記の perl スクリプトのステートメントは、シーケンスに対して「test_seqnextVal」を出力します。だからエラー

何が問題なのか教えてください。ありがとうございます。

0 投票する
1 に答える
9221 参照

java - エラーjava.sql.SQLException:ORA-01722:シーケンスを変更するためのプリペアドステートメントの実行中に数値が無効です

0 投票する
2 に答える
853 参照

c# - int のパラメーター化されたクエリ リストを渡すと、エラー ora-01722 が返されます

oledb プロバイダーの使用。クエリは次のようなものです。

int 配列を取得し、配列値の間にコンマ区切り記号を追加して文字列を返すメソッドに送信します。この文字列は、パラメータとして送信されます。

渡す値が 1 つの場合は問題なく動作しますが、2 つの値を送信するとORA-01722エラーが発生します。

テーブルを見て何が実行されているかを確認しようとしましたv_$sqlが、自分のページで実行されたクエリが表示されません。どちらの場合も同じログインを使用しているにもかかわらず、toad を介して実行したものしか見ることができません。SQLデータを格納する他のテーブルがあるかどうかはわかりません。

文字列ビルダーは次のとおりです。

0 投票する
3 に答える
11784 参照

c# - SELECTINでOracleパラメータを使用する際の問題

SQLクエリに数値の文字列を挿入するときに問題が発生します

...また:

...このコードで:

したがって、このクエリを実行すると、次のようになります。

ORA-01722:番号が無効です

しかし、1つの数値、つまり「3857」だけを挿入すると、データを含むクエリOKが返されます。

0 投票する
3 に答える
288 参照

sql - Oracle クエリ エラー

私はOracleを初めて使用し、クエリに問題があるようです

これが私が持っているものです

これでORA-01722 invalid numberエラーが発生します。

と関係があると思い+ますが、正しい構文がわかりません。

何か案は?

0 投票する
1 に答える
1948 参照

oracle - PlSql変換関数の質問

実際のデータを選択するためのカーソルを作成し、それをループして、生の値と数値に変換された後の値を出力します。アプリケーションが無効な数値エラーをスローすることがあります。以下は私のテスト(selectステートメントを含まない)コードと出力です。

出力は次のとおりです。

私は受け取ります:

PL / SQL:数値または値のエラー:文字から数値への変換エラー

...生の答えが「<3」の場合。

アプリケーションで使用される実際のコードは次のようになっていることに注意してください。

動的SQL文字列のwhere句の一部です。関数または疑似列「DECODE」がSQLステートメントのみのエラー内で使用される可能性があるため、decodeステートメントをcaseステートメントに置き換えました。

最後に、私の質問は次のとおりです。

  1. 変換関数がより小さい記号を置き換えないのはなぜですか
  2. ORA-1722エラーとORA-06502エラーの違いは(素人の言葉で)何ですか?

編集:caseステートメントを次のように変更すると気づきました:

06502エラーが発生しなくなりました。私が投稿した元のコード行を見て、無効な数値エラーの原因について何か提案はありますか(翻訳される文字列に文字が存在しないと仮定して)?または、元の開発者がやろうとしていたことを達成するためのより良い方法はありますか?

変数宣言は次のとおりです。

0 投票する
1 に答える
4976 参照

oracle - 多くの場所で「ORA-01722: 無効な番号」エラーが発生する

Oracle ドライバーの多くの場所で「ORA-01722: 無効な番号」というエラーが発生します。回避策/解決策を指摘できますか?

0 投票する
2 に答える
1505 参照

oracle - Oracle dbは、一見理由がまったくないためにORA-01722を提供します

私はado.netでOracleデータベースを使用しようとしていますが、それは苦痛な経験を証明しています。Oracle Client(Oracle.Data名前空間)を使用しています。

次のクエリは、クエリウィンドウから正常に実行されます。

UPDATE PRINT_ARGUMENT SET VALUE = 'Started' WHERE REQUEST_ID = 1 AND KEYWORD = '{7D066C95-D4D8-441b-AC26-0F4C292A2BE3}'

ただし、OracleCommandを作成すると、ORA-01722でも同じことが起こります。理由がわかりません。

p>

デバッガーでコマンドを調べると、パラメーターが正しいタイプにマップされているように見えます。requestIDにはOracleDbType.Int64があり、キーと値は両方ともOracleDbType.Varchar2です。パラメータのも正しいです。

同じアプローチを使用してまったく同じ列(requestID、keyword、value)を操作する他のクエリがあることを考えると、これはさらに奇妙になります-そしてそれらは問題なく機能します。

レコードの場合、列タイプはrequestID NUMBER(10,0);です。キーVARCHAR2(30); 値VARCHAR2(2000)。

Oracleによると、ORA-01722の「無効な数値」は、文字列を数値に変換できなかったことを意味します。私の文字列値はどちらも数値ではなく、それらのために作成されたOracleParametersも数値でもありません。