私はRパッケージを構築しています。その主な目的は、かなり複雑なSQLクエリを必要とする独自のデータベースを扱う苦労を抽象化することです。Rパッケージでデータベース接続を管理する方法
このように、Microsoft SQL Serverへの接続(odbcDriverConnect
で取得)は、このパッケージの一定かつ重要な部分ですが、これを管理するにはどうすればうまくいかないのでしょうか?どのようにこれはR.
私の現在の考えは以下のとおりです。
ユーザーは、彼らは任意の関数を呼び出す前に、彼らは有効な接続を持っていることを確認してください。各関数は、渡さなければならないパラメータとして
connection
を持っています。これはユーザに負担をかける。すべての機能で、毎回新しい接続を得る
get.connection()
を呼び出してください。古い接続は自然にタイムアウトすることが許されていますが、これは不適切な方法です。上記と同じですが、毎回同じ接続が返されます。これは、R.
autoReconnect=TRUE
を介して接続がタイムアウトしてしまうのを防ぐことができないため、実行可能な提案ではないようです。また、私はさまざまな言語で使用したその他のトリックは効果がないようです。
Javaでは、おそらくDatabaseConnectionPoolに多数の接続が設定されていて、必要に応じて接続を取得して返すことになります。 autoReconnect=TRUE
と指定すると、Javaでタイムアウトの問題が発生していないようです。
ご迷惑をおかけして申し訳ございません。
「プール」は素晴らしいです! –