すでに開いているJTDS接続で「AppName」を変更できますか?
-
26-10-2019 - |
質問
基礎となるデータベースプロセスにWebアプリケーショントランザクション情報を渡す方法を探しています。私のJavaコードでは、1つまたは複数のSQLを実行するトランザクションメソッドReservationService#Search()がある場合があります。 DBMSでは、いくつかのロックと一緒にスピッドが表示されます。データベースプロセスにタグ「ReservationService#検索」を追加する方法を探しています。
JTDS / SYBASE ASEには、接続プロパティとして渡すことができるAppNameがあります。接続プールを使用しているため、既存の接続が再利用されますが、私の知る限り、AppNameは新しい接続の確立についてのみ読み取られます。
既存の接続(閉鎖/開くことなく)でAppNameを再設定するにはどうすればよいですか?または、それが単に不可能な場合、JavaからDBMSにトランザクションコンテキスト情報を取得する他のアイデアはありますか?
- Tomcat WebApplication(Java 6)
- C3P0接続プール(JDBC 3のみをサポートします)
- Sybase ASE 15に接続するJTD
サイモンに感謝します
解決
残念ながら、接続を開いたときにURLパラメーターでのみそれを指定することはできないが、後語を変更することはできないようです。
Java/Tomecatからすべてのsybaseクエリまで、ある種のセッションIDでパスすることができます。私にとっては、JavaアプリケーションとSQLサーバーの間のすべての通信にストアドプロシージャを使用するため、これは簡単でした。私はJ2EEセッションにJavaにセッションを基づいています。
所属していません StackOverflow