更改 SQL 服务器连接池的 ProgramName

Change ProgramName for SQL Server connection pool

我试图在 JAVA EE 应用程序中使用来自连接池 (C3P0) 的连接来识别企业用户。我在将连接提供给休眠之前执行设置连接信息的语句,并在连接返回到池时将其设置为空字符串。

对于 PostgreSQL:

SET application_name TO 'MyCorporateSystem - Billing - John Doe';

对于甲骨文:

call DBMS_SESSION.SET_IDENTIFIER('MyCorporateSystem - Billing - John Doe');

Microsoft SQL 服务器在 'sp_who2' 上也有一个 ProgramName 列,但似乎您无法在建立连接后设置它,只能在连接字符串中设置,对吗?唯一的方法是使用 CONTEXT_INFO ?

你是对的。这不能在 t-sql 中更改。它是连接字符串的一部分。