Oracleエラーの返り方


クミン  2008-12-04 10:04:43  No: 145465  IP: 192.*.*.*

VB2005、oracle11gで開発しています。

timerで10秒ごとにselect文を取得しているのですが、
初めは問題なく動いていても途中で「数値が無効です」というエラーが返ってくることがあります。
数値と文字の比較等で起こるエラーかと思うのですが、DBの中身は触っていないのにエラーが起こり困惑しています。
データが書き換えられていなくてもこのエラーが起こることはあるのでしょうか?

編集 削除
もげ  2008-12-04 10:20:15  No: 145466  IP: 192.*.*.*

はい。
そのエラーの場合は、
取得するデータによってエラーになったり、ならなかったりします。
>数値と文字の比較等
のように、暗黙の変換に期待したSQLを書いているとそういうことになります。
(単に、シングルコーテーションを付け忘れているとかそういうレベルも含む)

数値を明示的に文字列へ変換してから比較する等、
SQL文を見直してみてはいかがでしょう?
'というかORA-01722の話ならVB関係ないので聞くべきはOTNとかでは?

編集 削除
クミン  2008-12-04 11:25:09  No: 145467  IP: 192.*.*.*

早速のお返事ありがとうございます。
Timer10秒周期で1時間流したうち1回から2回しか起きない(SQLは全く同じ)のでVBでの取得方法やTimerの問題を疑っておりました。
サブクエリでTO_NUMBERで変換したBITANDやTO_BIT_NUMを使って取得したデータを比較してるくらいしか数値は使っていないことと、SQL、DB共に変更してないのでアプリに問題があるのかと・・・

OTN掲示板の方でも確認してみます。
ありがとうございました。

編集 削除