これはより具体的には SQL Server Reporting Services に関するものですが、これは典型的な .Net アプリケーションの問題でもあると考えています。
これが問題です。SSRSを使用して、Oracleデータベースからデータを報告しています。初日から、ユーザーは ORA-2396: Exceeded maximum idle time、ORA-01012-Not Logon などのエラーが発生すると不平を言っています。
DBA、アプリ開発者、ネットワーク エンジニアを含めましたが、これまでのところ、これ以上の手がかりは見つかりませんでした。
最近、いくつかの調査を行っているときに、Oracle への .Net 接続に関する 1 つの「既知の」問題が多くの人々によって文書化されていることに気付きました。彼らが言及しているように、接続プールを使用している場合、役に立たない接続でもプールで使用できる可能性があります。次のリクエストで、この接続が使用される可能性があり、その時点でエラーがスローされます。DBA によって確認されたように、Oracle インスタンスは、X 分間アイドル状態になると接続を切断するように設定されています。
前述の言及があるリンクは次のとおりです http://msdn.microsoft.com/en-us/library/8xx3tyca(v=VS.90).aspx
http://www.codeproject.com/KB/dotnet/ADONET_ConnectionPooling.aspx
他にもいくつかあります。ただし、はい、これは現在の問題です(最新バージョンの.Netおよびoracleなど)という非常に確認された声明はどこにもありません。
ソリューションの部分では、接続文字列の一部として「Validate Connection = true」属性を使用することに言及しています。しかし、それを使用しようとすると、「キーワードはサポートされていません - 接続を検証してください」と表示されます。(Validconも試しました)
私が持っている質問は次のとおりです。1.接続プールからのこの「ダーティ」読み取りの問題が存在することが確認されていますか? 2. もしそうなら、解決策は何ですか? 3. そうでない場合、問題の原因は何か。
さらに情報が必要な場合は、お気軽にコメントしてください。