問題タブ [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.
sql - Oracle 11g でメンバー プロシージャを呼び出す
私が持っているとしましょう:
どのように電話すればよいinsert_address
ですか?
次のことを行うことで、私は得るinvalid number or types of arguments
私はこれを行うことができ、それは機能しますが、悪い考えのようです:
ありがとう
performance - Oracle番号とvarcharが結合します
2つのテーブルを結合するクエリがあります。1つのテーブルにはvarchar型の列があり、もう1つのテーブルにはnumber型の列があります。3つのOracleデータベースでクエリを実行しましたが、説明できると思いますが、奇妙な結果がいくつか見られます。2つのデータベースでは、次のようなものが機能します。
このクエリでは、tableA.col1はタイプnumberであり、tableB.col2はタイプvarcharです。これは、2つのデータベースでは正常に機能しますが、3番目のデータベースでは機能しません。3番目に(ORA-01722)エラーが発生します。3番目に私は次のようなことをする必要があります...
これはすべてのデータベースで機能します。私が持っている質問はなぜですか?上記は単純化されたクエリであり、実際のクエリはもう少し複雑で多くのデータを取得するため、最初のバージョンの方がはるかに高速です。それをすべての環境で機能させることができれば、それは素晴らしいことです。
これが一部のOracleデータベースで機能し、データ型にキャストされていない他のデータベースでは機能しない理由を誰かが知っていますか?そのような動作を可能にするグローバル設定はありますか?
sql - ORA-01722: 番号が無効です
悪名高い無効な番号の Oracle エラーが表示されます。Hibernate は多くの列で INSERT を発行しています。問題を引き起こしている列の名前だけを知りたいです。出来ますか?
参考までに、挿入は次のとおりです。
sql - OracleのTO_NUMBER関数で奇妙な問題が発生する
レコード数が特定の数nを超えると、varchar2列のwhere句でto_number関数を実行すると、断続的な問題が発生します。nを使用したのは、それが発生するレコードの正確な数がないためです。あるDBでは、nが0.1のときに別のDBで100万になった後に発生します。100万。
たとえば、1,000万件のレコードを含むテーブルがあり、数値データとIDを含むfield1varchar2があるTableCountryと言います。
例としてクエリを実行すると
これは動作します
しかし、私がクエリを実行すると
無効な番号を言って失敗する
次に、クエリを試してみます
再び動作します
無効な番号しか取得できなかったので混乱しましたが、ログファイルには
それはSGAサイズに関連しているようですが、グーグルは私にこれについて多くの助けを与えませんでした。
大きなデータのTO_NUMBERまたはoracle関数に関するこの問題について誰かが知っていますか?
vb.net - Oracle XE + ODP.NET の煩わしい表示エラー
Supみんな、私の見解は次のとおりです。
SELECT * FROM SISTEMA.VWTELA を実行すると、PL/SQL Developer からは正常に動作しますが、VB.NET アプリケーションからクエリを起動すると、非常に迷惑なエラー ORA-01722 がスローされます。
何か案は?アプリケーションコードはどのクエリでも完全に機能するため、アプリケーションコードのエラーではなく、ODP.NET の「超クールな機能」が含まれています。
すでにto_number、to_whateverを試しましたが、常に同じエラーが発生します。
sql - 数値を含むvarchar2列から選択すると、無効な数値エラーが発生することがあります
一部のシステムでは、varchar2列から値を選択しようとすると、無効な数値エラーメッセージが表示されるのに、他のシステムではまったく同じことを実行してもエラーが表示されない理由を理解しようとしています。
テーブルは次のようなものです。
とクエリ:
:some_number_valueは常に数値ですが、nullにすることもできます。
クエリを修正しました:
この元のクエリはほとんどのシステムで正常に実行されますが、一部のシステムでは「無効な番号」エラーが発生します。問題はなぜですか?一部のシステムではなく、ほとんどのシステムで機能するのはなぜですか?
sql - フェッチ時にOracleエラーを強制する
アプリケーションで奇妙な動作をデバッグしようとしています。そのためには、SQL SELECTクエリがエラーをスローするシナリオを再現する必要がありますが、クエリ自体の実行中ではなく、実際にカーソルからフェッチしている間だけです。これはできますか?どんなエラーでもかまいませんが、ORA-01722: invalid number
試してみるべき明らかなエラーのようです。
次のテーブルを作成しました。
次に、主キーの一意の値との値を使用して数百行を作成しl
ましたothercol
。次に、SELECT *クエリを実行し、途中のどこかで行を選択して、文字列に更新しましたabcd
。SELECT KEYCOL, TO_NUMBER(OTHERCOL) FROM SOMETABLE
良いデータのいくつかの行を取得し、後でエラーが発生することを期待してクエリを実行しました。しかし、私ORA-01722: invalid number
は実行ステップ自体を続けています。
この動作は、ADO(サーバー側カーソルを使用)とJDBCを使用してプログラムで取得したほか、PL /SQLDeveloperからも取得しました。探している結果を得るにはどうすればよいですか?ありがとう
編集-ADOを使用する場合、私はを呼び出すだけCommand.Execute
です。レコードセットを作成したり開いたりしていません。
oracle - サーバー側のカーソルをフェッチするときの実際のエラーではなく、ADO の「Unspecified Error」
これは私の最近の質問に関連しています: Force Oracle error on fetch
Oracle OLEDB Provider で ADO を使用するシナリオを再現できるようになりORA-01722: invalid number
ました。呼び出し時に発生するようなエラーを強制できRecordset.MoveNext
ます。ただし、これはアプリケーションに返されるエラーではありません。代わりに、アプリケーションはProvider error '80004005' Unspecified error
. アプリケーションにデータベースからの実際のエラーを表示させるにはどうすればよいですか? 問題があれば、これは Oracle 10g (クライアントとサーバー) の場合です。
サンプルコードはおおよそ次のとおりです。
c# - Oracle C#からの無効な番号エラー
C#.Netアプリケーションで次のコードを実行しましたが、エラーORA-01722:無効な番号が表示され続けます。同じSQLをPL/SQL Developerで直接実行すると、文句を言わずに私が要求したとおりに実行されます。
これを引き起こしている可能性がありますか?
注:私はOracle.DataAccess.Clientを使用しています