This discussion is archived
2 Replies Latest reply: Sep 6, 2012 7:17 PM by 959720 RSS

Oracle Change Notification による変更通知がされない

959720 Newbie
Currently Being Moderated
以下のサイトを参考にOCNの機能を試していたのですが、特定の環境下では変更通知がされません。
http://docs.oracle.com/cd/E16635_01/win.111/e06104/featChange.htm
http://www.atmarkit.co.jp/fdb/rensai/odp10g05/odp10g05_03.html

<クライアント>
OS:Windows XP Professional(x86)
ODP.NET:2.112.1.0
開発ツール:VS2005
言語:VB

このPCから以下の3つのDBそれぞれに対してOCNの機能を試しました。

<DB1>
OS:Windows Server 2008 R2 Standard
DB:Oracle 11g R2(x64)
変更通知されない。

<DB2>
OS:Windows 7 Professional(x86)
DB:Oracle 11g Express
変更通知される。

<DB3>
OS:Windows Server 2003(x86)
DB:Oracle 11g(x86)
変更通知される。

<DB1>では変更通知されませんでした。例外はスローされません。
すぐ目につく違いは、OS・DBともに64bitであることです。
x64でビルドしたプログラムを<DB1>内で実行した場合、変更通知されました。
x64のDBとx86でビルドした.NETプログラム間では、OCNを使用することはできないのでしょうか?
それとも何か設定などがあるのでしょうか?

よろしくお願いいたします。
  • 1. Re: Oracle Change Notification による変更通知がされない
    nashiOracle Newbie
    Currently Being Moderated
    http://www.oracle.com/webfolder/technetwork/jp/obe/net11gobe/changenotification/odpnetchg.htm
    を参考に、試してみました。

    <サーバ環境>
    OS:Windows Server 2008 (64bit)
    Oracle: 11.1.0.7.0 (64bit)

    <クライアント環境>
    開発ツール VisualStadio 2008 (VB.Net)
    OS:Windows 7
    Oracle Instant Client 11.1.0.6.0 (ODP.NETアセンブリバージョン:2.111.6.20)
    ビルドオプション: x86

    この組み合わせで、正常に変更通知を受け取ることができました。

    #OSとOracleが32bitの環境もあるのですが、どちらも同じプログラムで動作しました。
    32bit/64bitの違いというよりも、
    ・接続ユーザーに Change Notification権限があるか?
    ・通知ポートがファイアウォールで塞がれてないか?
    あたりが原因ではないでしょうか。

    参考になれば幸いです。
  • 2. Re: Oracle Change Notification による変更通知がされない
    959720 Newbie
    Currently Being Moderated
    回答ありがとうございます。

    Change Notification 権限付与およびポートの開放は確認済みです。

    x86ビルドのプログラムで、64bitのOracleから変更通知が受け取れたということなので、
    OracleもしくはOSの設定に問題がありそうですね。

    もう少し調べてみます。

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points