私は R パッケージを構築しています。その主な目的は、データを取得するためにかなり複雑な SQL クエリを必要とする独自のデータベースを処理する苦痛を取り除くことです。
そのため、Microsoft SQL Server への接続 ( によって取得されるodbcDriverConnect
) は、このパッケージの一定の重要な部分です。 Rで。
私の現在の考えは次のとおりです。
関数を呼び出す前に、有効な接続があることをユーザーに確認してもらいます。各関数には
connection
、渡す必要があるパラメーターがあります。これはユーザーに負担をかけます。get.connection()
すべての関数で、毎回新しい接続を取得する呼び出しを行います。その後、古い接続は自然にタイムアウトすることが許可されますが、これはずさんなアプローチのようです。上記と同様ですが、毎回同じ接続を返します。Rを介した接続のタイムアウトを防ぐことはできないため、これは実行可能な提案ではないようです。
autoReconnect=TRUE
また、さまざまな言語で使用した他のトリックは効果がないようです。
Java では、おそらく DatabaseConnectionPool に多数の接続を設定し、必要に応じてそのプールから接続を取得して返すだけです。を指定すると、Javaでタイムアウトの問題も発生しないようですautoReconnect=TRUE
。
どんな提案でも大歓迎です。