【问题标题】:Can I change the 'appName' on an already open JTDS connection?我可以在已经打开的 JTDS 连接上更改“appName”吗?
【发布时间】:2011-07-26 11:15:37
【问题描述】:

我正在寻找一种将 Web 应用程序事务信息传递到底层数据库进程的方法。在我的 Java 代码中,我可能有一个事务方法 ReservationService#search(),它运行一个或多个 SQL。在 DBMS 上,我只看到一个 SPID 和一些锁。我正在寻找一种将标签“ReservationService#search”添加到数据库进程的方法。

jTDS / Sybase ASE 有一个可以作为连接属性传入的 appName。由于我们使用的是连接池,因此会重复使用现有连接,但据我所知,appName 仅在建立新连接时才会读取。

如何在已经存在的连接上重新设置 appName(不关闭/打开)?或者,如果这根本不可能,是否还有其他想法可以将事务上下文信息从 Java 获取到 DBMS?

  • Tomcat Web 应用程序 (Java 6)
  • C3P0 连接池(仅支持 JDBC 3)
  • jTDS 连接到 Sybase ASE 15

谢谢 西蒙

【问题讨论】:

    标签: java jdbc sap-ase jtds


    【解决方案1】:

    可惜不行,好像只能在打开连接的时候在URL参数里指定,后面不能修改。

    您可以将某种 SessionID 从您的 Java/Tomecat 传递给您的所有 Sybase 查询。对我来说,这很容易,因为我使用存储过程进行 Java 应用程序和 SQL 服务器之间的所有通信。我在 Java 中基于 J2EE 会话建立了我的 SessionID。

    【讨论】:

      猜你喜欢
      • 2012-04-11
      • 2021-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多