問題タブ [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.
perl - オラクルのシーケンスの問題
まず、perl スクリプトで oracle にシーケンスを作成しました。シーケンスが既に作成されているというエラーが表示されます。シーケンスをリセットする手段はありますか (作成または置換は機能しません)。
上記の perl スクリプトのステートメントは、シーケンスに対して「test_seqnextVal」を出力します。だからエラー
何が問題なのか教えてください。ありがとうございます。
c# - int のパラメーター化されたクエリ リストを渡すと、エラー ora-01722 が返されます
oledb プロバイダーの使用。クエリは次のようなものです。
int 配列を取得し、配列値の間にコンマ区切り記号を追加して文字列を返すメソッドに送信します。この文字列は、パラメータとして送信されます。
渡す値が 1 つの場合は問題なく動作しますが、2 つの値を送信するとORA-01722
エラーが発生します。
テーブルを見て何が実行されているかを確認しようとしましたv_$sql
が、自分のページで実行されたクエリが表示されません。どちらの場合も同じログインを使用しているにもかかわらず、toad を介して実行したものしか見ることができません。SQLデータを格納する他のテーブルがあるかどうかはわかりません。
文字列ビルダーは次のとおりです。
c# - SELECTINでOracleパラメータを使用する際の問題
SQLクエリに数値の文字列を挿入するときに問題が発生します
...また:
...このコードで:
したがって、このクエリを実行すると、次のようになります。
ORA-01722:番号が無効です
しかし、1つの数値、つまり「3857」だけを挿入すると、データを含むクエリOKが返されます。
sql - Oracle クエリ エラー
私はOracleを初めて使用し、クエリに問題があるようです
これが私が持っているものです
これでORA-01722 invalid number
エラーが発生します。
と関係があると思い+
ますが、正しい構文がわかりません。
何か案は?
oracle - PlSql変換関数の質問
実際のデータを選択するためのカーソルを作成し、それをループして、生の値と数値に変換された後の値を出力します。アプリケーションが無効な数値エラーをスローすることがあります。以下は私のテスト(selectステートメントを含まない)コードと出力です。
出力は次のとおりです。
私は受け取ります:
PL / SQL:数値または値のエラー:文字から数値への変換エラー
...生の答えが「<3」の場合。
アプリケーションで使用される実際のコードは次のようになっていることに注意してください。
動的SQL文字列のwhere句の一部です。関数または疑似列「DECODE」がSQLステートメントのみのエラー内で使用される可能性があるため、decodeステートメントをcaseステートメントに置き換えました。
最後に、私の質問は次のとおりです。
- 変換関数がより小さい記号を置き換えないのはなぜですか
- ORA-1722エラーとORA-06502エラーの違いは(素人の言葉で)何ですか?
編集:caseステートメントを次のように変更すると気づきました:
、
06502エラーが発生しなくなりました。私が投稿した元のコード行を見て、無効な数値エラーの原因について何か提案はありますか(翻訳される文字列に文字が存在しないと仮定して)?または、元の開発者がやろうとしていたことを達成するためのより良い方法はありますか?
変数宣言は次のとおりです。
oracle - 多くの場所で「ORA-01722: 無効な番号」エラーが発生する
Oracle ドライバーの多くの場所で「ORA-01722: 無効な番号」というエラーが発生します。回避策/解決策を指摘できますか?
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でも同じことが起こります。理由がわかりません。
デバッガーでコマンドを調べると、パラメーターが正しいタイプにマップされているように見えます。requestIDにはOracleDbType.Int64があり、キーと値は両方ともOracleDbType.Varchar2です。パラメータの値も正しいです。
同じアプローチを使用してまったく同じ列(requestID、keyword、value)を操作する他のクエリがあることを考えると、これはさらに奇妙になります-そしてそれらは問題なく機能します。
レコードの場合、列タイプはrequestID NUMBER(10,0);です。キーVARCHAR2(30); 値VARCHAR2(2000)。
Oracleによると、ORA-01722の「無効な数値」は、文字列を数値に変換できなかったことを意味します。私の文字列値はどちらも数値ではなく、それらのために作成されたOracleParametersも数値でもありません。