2011-12-19 8 views
0

Oracleデータベース内にイベント・テーブルがあります。私はレコードがOracleテーブルに挿入されるたびに電子メール通知を送信したいと思います。私はTomcatを使用しています&私はJMSやその他のサポートを持っていません。イベントに関する電子メール通知 - Oracle Queue

次の2.5週間でこれを完了する必要があります。

Oracleがイベント表からデータをエンキューするOracle Advanced Queuingを使用できますか。しかし、スタンドアロンのJavaプログラムでデキューすることができるかどうかはわかりません。

サンプルの例でこれを達成する方法をお勧めしますか?

注:JAVAは、私たちの要件としてのみ使用しました。

おかげ

+0

plsqlの使用は許可されていますか? –

+0

はい。しかし、私はキューからメッセージを取得し、私は電子メールを送信することができますスタンドアロンのJavaプログラムを書くことを考えていた。これができるかどうかわからない。しかし、ここにリンクがあります:http://docs.oracle.com/cd/B10500_01/appdev.920/a96587/apexampl.htm#59717この例で示されている方法でデキューを実行するスレッドを実行できます。私はそれをやり遂げることができるかどうか誰かに教えてもらえますか? – Mike

答えて

1

私はそれをやったことがないが、あなたはJavaから直接のOracle AQを使用することができます。最悪の場合、次のメッセージをデキューしてその標準ストアドプロシージャをJavaから呼び出すためにPLSQLを書くことができます。 oracle AQ javaにgooglingしてみてください。

問題がある場合は、行がテーブルに挿入されるたびにメッセージをキューに配置するか、キューにメッセージをエンキューするためにテーブルに挿入するAPIを変更します。

次に、キューから各メッセージを読み取り、電子メールを送信する別個のプロセスを持つことができます。

0

これを実現する簡単な方法の1つは、そのテーブルにINSERTトリガーを作成し、電子メール通知に保存された電子メールへの呼び出しを行うことです。もちろん、あなたのメール管理者と協力して、使用するメールサーバーのアドレス/名前を交換する必要があります。一例として。スクリプトの援助が必要な場合は、この投稿を通じて私に知らせてください。

2

あなたは電子メールを送信するためにJavaを使用する必要がありますか?過去には、行が挿入されたときにデータベース内から電子メールを送信するためにUTL_MAILとトリガーを使用しました。

dbms_schedulerを使用して電子メールを送信するプロセスを作成する必要があります。 AQは当時のコストオプションでしたので、私はそれを使用しませんでした。

ULT_MAIL
DBMS_SCHEDULER
Example showing how to send an email

あなたはそれがデフォルトの一部がインストールされませんようUTL_MAILはOralceデータベースにinstaledを取得する必要があると、あなたの構成に応じて、サーバーにメール、データベースが追加されますあなたに「安全な送信者」のリスト

関連する問題