我可以更改“appName”吗?在已经打开的 JTDS 连接上?

发布于 2024-11-26 01:44:02 字数 497 浏览 0 评论 0原文

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

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

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

  • Tomcat Webapplication (Java 6)
  • C3P0 连接池(仅支持 JDBC 3)
  • jTDS 连接到 Sybase ASE 15

谢谢 西蒙

I'm looking for a way to pass web-application transaction information on to the underlying database process. In my Java code I might have a transactional method ReservationService#search(), which runs one or several SQLs. On the DBMS I just see a SPID along with some locks. I'm looking for a way to add a tag "ReservationService#search" to the database process.

jTDS / Sybase ASE have an appName which can be passed in as a connection property. As we're using a connection pool, existing connections are re-used, but to my knowledge the appName is only read on establishing a new connection.

How can I re-set the appName on an already existing connection (without closing/opening)? Or, if that simply is impossible, are there any other ideas to get transactional context information from Java to the DBMS?

  • Tomcat Webapplication (Java 6)
  • C3P0 Connection Pool (only supports JDBC 3)
  • jTDS connecting to Sybase ASE 15

Thanks
Simon

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

↙厌世 2024-12-03 01:44:02

不幸的是不是,似乎你只能在打开连接时在 URL 参数中指定,但之后无法更改。

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

Unfortunately not, it seems that you can only specify that in the URL parameters when you open up the connection but can't be altered afterwords.

You can aways pass in a SessionID of some kind from your Java/Tomecat to all your Sybase queries. For me, this was easy as I use stored procedures for all communications between my Java application and the SQL server. I based my SessionID in Java on the J2EE session.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文