2012-03-14 6 views
0

に有効で開放する必要があります。接続はそこのOracleアプリ開発者からいくつかの助けが必要Ddtek.Oracle.OracleConnection

私はDDTek.Oracleライブラリを使用してテーブルへの更新や挿入C#.NET 4.0のアプリケーションを持っています。私のアプリは毎日約12時間実行されていますが、この例外は正確に2回15日離れていました。最近、数時間にわたって正常に動作していました(この間、挿入と更新の両方を行いました)。そして、この例外が来ます。私は、この例外は不正な接続文字列である可能性があることを読んだが、私が前に言ったように、アプリケーションはしばらくの間うまく動いていた。これはdbまたはネットワークの問題か、それは別のものになる可能性がありますか?

System.InvalidOperationException: Connection must be valid and open 
at DDTek.Oracle.OracleConnection.get_Session() 
at DDTek.Oracle.OracleConnection.BeginDbTransaction(IsolationLevel isolationLevel) 
at DDTek.Oracle.OracleConnection.BeginTransaction() 

FYI(原因が考えられる場合)、私は2つのスレッドで2つの接続を持っています。各スレッドは異なるテーブルを更新します。 PS:DDTekの優れたドキュメントを誰かが知っている場合。返信してください。

答えて

1

あなたは、私が唯一の推測することができますについて説明したものとは - いくつかの可能性があります:ビルトインプール

  • ほとんどのプロバイダのオファーは、時々、プール内の接続が無効になり、あなたは時々、いくつかの奇妙な行動
  • を取得ネットワーク設定/ファイアウォール/ IDS ... TCP接続のオープン時間を制限する
  • 時々微妙なバグ(2つの異なるスレッドから同じ接続にアクセスする)によって奇妙な問題が発生する
  • DBサーバーファイアウォール)liセッションが接続されている時間を正確に計算する
  • ほとんどのOracleプロバイダは、管理されていないヒープなどを使用する必要があるフードでOCIを使用します。
    1つのプロバイダで管理されていないメモリRACに接続したときにかなり高速なベンダーによってfixec)
  • は時々のリスナー/ノードがダウンし、および/またはいくつかのフェイルオーバーがDDTek.Oracleの包括的なドキュメントへのリンクについては

無効な現在の接続を残して起こるhereを参照し、 here

+0

ありがとうございました。このリストは、問題の調査に多くの手助けをします。 DDTekのドキュメントにも感謝します。 – ada

+0

@adaあなたは歓迎です:-) – Yahia

関連する問題