LAN内の他のPCからも自分のDBにアクセスできるように
したいと考えています。
とりあえず、自宅のPCで試したところ、リモートでの接続
は成功しました。(サーバはデスクトップマシンでクライアントはネットブック)
動作環境はXPで、Navicat LiteとEclipse3.4で作ったJavaのプログラム
両方で正常な動作を確認しています。
ところが、そのクライアントのネットブックをそのまま会社へ持って行って、
会社のほうの自PCにOracleをインストールしてNavicat Liteで
接続を試みたところ、ORA-12170(接続タイムアウト)が発生してしまい、
接続ができません。
もちろん、会社のPCのセキュリティソフトの機能は全て切っており、
クライアントにはきちんとドライバを入れています。
セキュリティソフトはゼロという製品です。
こういった場合、どのようことが原因として考えられるでしょうか。
会社のPCもXPです。
どなたか、原因に思い当たる方がいらっしゃいましたら、
ご教示ください。
オラクルのリスナーが起動しているか確認してください。
コントロールパネルの管理ツール、サービスで、
サービス名が、OracleOraDb10g_XXXXXTNSListenerのようなやつだったと思います。
また、セキュリティソフトのゼロでオラクルDBとの通信が自動的に遮断されていないか確認したほうが良いです。
このセキュリティソフトは使っていないので、よく分からないのですが、
このへんの設定が遮断になっているような気がします。
https://www.sourcenext.com/faq/action/faqdetails?kind=technical&...
以後、コメントを開けていただけると良いです。
コメント開けました。
実は私もこのセキュリティソフトを扱うのは初めてで、
全て無効の設定にしたつもりですが、上記URLのように
設定漏れがあったかもしれません。
明日早速確認します。
クライアントでTNSNAMES.ORAを使用している場合、当然
自宅用と会社用の設定は別にしていますよね?
(TNSNAMES.ORAの意味が分からない場合、
Net Configuration Assistantで追加していますよね?)
まずは、
ping サーバPC名(またはIP)
が通るか確認してください。
次に
tnsping tns名
でOKで表示されるか確認してください
(パスが通ってない場合、oracleクライアントのbinディレクトリに移動して実行してください)
簡易接続の場合
tnsping サーバPC名:1521
(1521はデフォルトです)
だめだった場合ファイヤーウォールかセキュリティソフトの設定が疑われるので
OFFにするよりはoracle自体を許可してください
デフォルトではポート1521です(サーバ側listener.oraに記載してあります)
>自宅用と会社用の設定は別にしていますよね?
もちろん、別にしています。
>Net Configuration Assistantで追加していますよね?
はい、それでユーザの設定をしました。
>ping サーバPC名(またはIP)が通るか確認してください。
pingは通りました。ハード面での障害ではないようです。
>tnsping tns名でOKで表示されるか確認してください
これは知りませんでしたので、やってみます。
既に帰宅しているので、すぐには試せませんが、
XPの コントロールパネル>管理ツール>サービス
の中に、OracleXETNSListener
というのを見つけましたが、これでしょうか?
自宅のPCでは間違いなく起動していますが、
会社のほうでは見ていなかったので、明日見てみます。