2011-07-26 70 views
1

我正在尋找一種方法將Web應用程序事務信息傳遞到基礎數據庫進程。在我的Java代碼中,我可能有一個事務方法ReservationService#search(),它運行一個或多個SQL。在DBMS上,我只看到一個SPID和一些鎖。我正在尋找一種將標籤「ReservationService#search」添加到數據庫進程的方式。我可以在已打開的JTDS連接上更改'appName'嗎?

jTDS/Sybase ASE有一個可以作爲連接屬性傳入的appName。當我們使用連接池時,現有連接被重新使用,但據我所知,appName只能在建立新連接時讀取。

如何重新設置已存在的連接上的appName(不關閉/打開)?或者,如果這根本不可能,是否有任何其他想法可以從Java到DBMS獲取事務上下文信息?

  • Tomcat的web應用(Java 6中)
  • C3P0連接池(只支持JDBC 3)
  • JTDS連接到Sybase ASE 15

感謝 西蒙

回答

1

不幸的是沒有,似乎你只能在打開連接但是不能修改後綴時在URL參數中指定它。

您可以將來自Java/Tomecat的某種SessionID傳遞給您的所有Sybase查詢。對我來說,這很簡單,因爲我使用存儲過程來處理Java應用程序和SQL服務器之間的所有通信。我在J2EE會話中使用Java中的SessionID。

相關問題