• 締切済み

Visual Basic Oracleエラー

質問します。 Visual BasicからOracle データベースに登録するときに、 エラーが発生したときにメッセージを出るようにしていますが、例えば、ORA-00000のセレクト文抽出件数がない場合、ORA-00001のinsertで既に登録があるとき、など、システムを使う人がわかりやすいようにエラーメッセージそれぞれを二つだけ変えたいと思うのですが、エラーメッセージ分岐方法がわかりません。 ex.numberとかで指定できるかと思ったのですが、できなかったので方法を教えてください。 よろしくお願いします。

みんなの回答

  • dell_OK
  • ベストアンサー率13% (740/5645)
回答No.1

例外オブジェクトをOracleExceptionにしてみてください。 ---- Catch ex As OracleException ---- これで、ex.Numberが参照できると思います。

関連するQ&A

  • Visual Basic データベースに登録

    お世話になっております。 どうしてもできない部分があり、質問させてください。 現在、Visual Basicからデータベースに登録できるようなツールを作っています。 StringBuilder.Appendメソッドを通して 条件に合致した社員にはデータを新しくINSERTするようなものです。 ここは問題なくできているのですが、このINSERTで追加されたすべての行をDataGridViewに表示して確認できればと試行錯誤しております。 単純にSELECT文を後に実行すれば、できるのですが、 今回のINSERTではなく、別途INSERTしたデータも抽出されてしまいます。 いま、追加したデータのみ表示ができる方法が有れば教えてください。 Visual Studio2017 Oracleデータベースを使用しています。

  • Visual Basic

    プログラミングについて教えてください。 Visual Basicを使用し、テキストボックスに入れた値をが該当するデータベースを抽出し、別のテーブルに追加するというツールを作りたいと思っています。 (使用しているDBはOracle sql Developer) 例えですが、一つ目の職員情報テーブルには『名前』『職員番号』『部署ID』などが格納されており、二つ目の異動情報テーブルには 『職員番号』『異動地ID』などがあります。 VBのテキストボックスに部署IDと異動地ID を入力するところをつくり、部署IDが『1』のひとを探して、その人たちには異動地IDを『A』といれるなどのインサート文を流して、データベースに登録したいです。 VBとデータベースを繋げる方法はわかったのですが、セレクト文を使用するために必要なことなどがよくわかっておりません。 ご教示もらえればと思います。 よろしくお願いします。

  • オラクルのエラー

    すみません、オラクルに接続しようとすると 下記のメッセージが出てつなげないんですが、 原因はなんでしょうか。 オラクルは9i、OSはWIN2000です。 IMP-00058: Oracleエラー1033が発生しました。 ORA-01033: ORACLE initialization or shutdown in progress

  • エラーコードについて

    オラクル初心者で、初めて質問します。 3点ほど、質問があります。どなたか宜しくお願いします。 (1)SELECT文発行時、抽出件数が0件(NotFound)、またはUPDATE文発行時、更新件数が0件の場合って、 エラーコードはORA-00000(正常終了)で合ってますか? (2)エラーコードのリファレンス読んでたら、ORA-00001はUpdate、もしくはInsert時に一意制約に反しているとありますが、 Insert時は分かるのですがUpdate時ってどういう条件でORA-00001が出るのでしょうか? (3)正常終了した場合も含めてエラーコードを確認することが可能なツール(フリーがBEST)とかご存知でしたら教えてください。 以上です。どうぞ宜しくお願いします。

  • Visual Basic SQL文の結果

    質問させてください。 Visual Basicからデータベースに接続をして、SQL文を実施できるツールを作っています。 接続はできているようなのですが、結果を画面に表示する方法がわかりません。 セレクト文結果として、デバック中にData Set ビジュアルライザー?では確認できます。 ボタンを押したらセレクト文を実行して、ラベルやDatawGridViewに表示させる方法を教えてください。 できそうなの処理をすると、DataTableの型にあっていない、などエラーがでてしまいます。

  • オラクルの初期化について

    OSはwindows2000serveを使用し、Oracle8.1.6をいれてます。 SQL*Plusを使ってデータベースにアクセスしようとしましたが、 ORA-01034 とエラーがでてオラクルを初期化して再試行しないといけないらしいのですが、どういう作業をすればよいのかわかりません。 初心者ですのでわかりやすくお願いします。

  • Visual Basic データ登録

    質問させてください。 現在、Visual Studio2017を使い、ツールを作っています。 Oracleデータベースからデータベースを二つ接続し、一つのテーブルから条件に合う社員番号をselectし、別テーブルに該当番号の人たちの新しい情報をinsertするといったツールです。 接続(ODP接続)、insert(複数件まとめての追加)はできました。 作成したツール上で、何件のinsertが行われたが分かる方法を探しているのですが、なかなか出来ません。 また、セレクトする条件はテキストボックスに入れられたものをパラメータ利用し、select→insertをするようにしたのですが、入力された値に一致するものがなかった場合などにエラー表示をしたいのですが、これもまたうまく行きません。 どなかご教授ください。 よろしくお願いします。 プログラミングは勉強中で、説明も下手で申し訳ありません。

  • [Oracle8i]ODBC経由でデータベースリンクに接続できますか?

    こんばんわ、ZIGENといいます。 はじめて、データベースリンクというものを 作成してみまして、Net8からは、無事接続し 対象のテーブルをSELECTできました。 しかし、ODBC経由で同じテーブルを参照しようと すると、以下のエラーになってしまいます。 --- SQLSTATE:S1000 Native Error Code:2041 Driver Message:[Oracle][ODBC][Ora]ORA-02041 クライアントデータベースはトランザクションを 開始しませんでした。 --- これはどういうことなのでしょうか? ODBC経由では接続できないということでしょうか? よろしくお願いします。

  • ORACLE9iのリカバリ方法

    ORACLE9iのリカバリ方法を教えてください。 Windows server 2003 R2、Oracle9iを使用しています。 Cドライブにoracleをインストール、Dドライブにoracleのデータを格納しています。 Cドライブのハードディスクが駄目になったので、Cドライブのハードディスクを交換して Windows server 2003 R2をインストールして Windowsの標準機能のバックアップ(バックアップデータには、system stateも含んでいます。)からバックアップしておいたデータを復元させました。 ファイル単位のデータや、オラクルのサービスは復旧したのですが、オラクルのテーブルなどが開きません。 SI ObjectBrowserでオラクルを開こうとしたとき、 「ORA-01219:データベースがオープンしていません。固定の表/ビューに対する問合せのみ可能です。」 というメッセージが表示されます。サービスの再起動をしましたが、同じようなエラーがでます。 SQLPLUSで、alter database openのコマンドを入れてデータベースをオープンさせようとしたところ、 次のようなエラーが出てきました。 ORA-01122:データベース・ファイル8の照合検査でエラーが発生しました。 ORA-01110:データ・ファイル8:'D:ORACLE^ORADATA\SFRES\USER01.DBF' ORA-01207:ファイルが制御ファイルより新しくなっています。-古い制御ファイルです。 どなたか、解決方法をご存知の方、ご教授ください。

  • OracleのLONG型への insert について

    お世話になります。 ASP + Oracle8.0.5で開発中のシステムがあるのですが、 ASP上のテキストエリアに文章を記述して、OracleのテーブルのLONG型のカラムに対して insertを行うとエラーが起こってしまいます。 正しくは、全角で2000文字までは入力できるのですが、 それを越えてしまうと、ORA-01461エラー(LONG値はLONG列にのみバインドできます)という エラーが起こってしまい、カラムに対してinsertすることができません。 テーブルを見直してみたのですが、ちゃんとLONG型に設定してありました。 LONG型のカラムにデータを登録する際、4000バイト以上の文字列は挿入できないでしょうか? でもLONG型って、2GBまで使用できるはずでしたよね? ご教授のほど、よろしくおねがいします。

専門家に質問してみよう