プロが教える店舗&オフィスのセキュリティ対策術

http://oshiete.goo.ne.jp/qa/8420174.html

VB.NETで作成したアプリでこちらの質問で無事解決し、違う環境で試したところORA-12170の
タイムアウトエラーが発生しました。

SQL*Plusからの接続は問題ありません。

わからないのはWEBアプリの方は接続できるのに、コンソールアプリの方がこのエラーになってしまいます。
どちらのアプリの接続文字列も同じData Sourceを指定してます。
「db1」がTNSNAMES.ORAに記述している識別子になります。


WEBアプリ側
(Web.configに記述)
<connectionStrings>
<add name="oracle" connectionString="Provider=OraOLEDB.Oracle;Data Source=db1;Password=pass1;User ID=user1"
providerName="System.Data.OleDb" />
</connectionStrings>

コンソールアプリ側
(INIファイルに記述)
ConnectionString=Provider=OraOLEDB.Oracle;Data Source=db1;Password=pass1;User ID=user1


一般的にはDBサーバにネットワークがつながってないなど単純な理由のようですが、
WEBアプリは接続できるので、そういうことはあり得ないと思います。
コンソールアプリの問題と思うのですが、どんな原因が考えられるでしょうか?

A 回答 (2件)

SQL*Plusをドコで動かしたのか、にもよるのかも。



サーバのポートが閉塞されているのかも。

参考URL:http://otndnld.oracle.co.jp/document/products/or …

この回答への補足

情報のご提供ありがとうございます。
SQL*Plusもアプリと同じサーバーからDBサーバーに対してです。
ポートが閉じていても、SQL*Plusはつながるとかあるのでしょうか。

補足日時:2014/01/11 21:54
    • good
    • 0
この回答へのお礼

結局、WEBサービスでDBにアクセス処理するようにし、WindowsアプリからそのWEBサービスを呼ぶように作りました。
ありがとうございました。

お礼日時:2014/02/04 09:34

コンソールアプリ側は、ダブルクォーテーションで囲まなくて良いのかな?


ConnectionString=Provider=OraOLEDB.Oracle;Data(右側省略)
だと「どこからが値なの?」ってことでは?
ConnectionString=”Provider=OraOLEDB.Oracle;Data(右側省略)

この回答への補足

ご回答ありがとうございます。
試してみましたが、変化ありませんでした。
デバッグモードで見ても文字列はとれていましたので、これが原因ではないようです。

補足日時:2014/01/10 20:04
    • good
    • 0
この回答へのお礼

結局、WEBサービスでDBにアクセス処理するようにし、WindowsアプリからそのWEBサービスを呼ぶように作りました。
ありがとうございました。

お礼日時:2014/02/04 09:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!