0

我正在编写一个 Java 应用程序,我在其中连接到一个 DB2 数据库,并且在获得连接后,我正在使用以下代码为该连接设置客户端信息:

String clientprogname = "MY PROGRAM";  //Progname
String clientname = "user1";  // The name of the End-User

con.setClientInfo("ApplicationName", clientprogname);
con.setClientInfo("ClientUser", clientname);

con.prepareStatement("SELECT * FROM SYSIBM.SYSDUMMY1 WHERE 0 = 1").executeQuery();
// Execute SQL to force extended client information to be sent to the server

LogFile.log("ApplicationName: " + con.getClientInfo("ApplicationName"));
LogFile.log("ClientUser: " + con.getClientInfo("ClientUser"));

我知道我可以使用 获取客户信息con.getClientInfo,但是客户信息是否存储在数据库中?根据Java 文档,客户端信息存储在数据库中的适当位置(例如,在特殊寄存器、会话参数或系统表列中)。是否有可以执行的 SQL 语句来查看所有打开连接的列表?

4

2 回答 2

1

对数据存储位置的支持getClientInfo和数据存储位置取决于数据库。您将需要检查驱动程序和数据库文档,以了解如何为您的数据库/驱动程序处理它。

于 2012-04-30T11:39:46.363 回答
1

据此,您可以从特殊寄存器中获取它,这是一个引用相同内容的较旧主题。

编辑:

这也是一个很好的链接,列出了许多有用的语句dbForums

于 2012-04-30T17:54:35.007 回答