Jdbc 如何查看连接到Informix数据库的应用程序的名称?
在JDBC中有:Jdbc 如何查看连接到Informix数据库的应用程序的名称?,jdbc,informix,Jdbc,Informix,在JDBC中有: Connection.setClientInfo("ApplicationName", myAppName); 使用PostgreSQL,我可以通过SQL查询查看myAppName: select * from pg_stat_activity; 使用Informix,我希望在syssessions表的feprogram列中看到它,但它是空的。我还尝试了onstat命令行实用程序,但看不到任何会话列表 我的环境: 客户端:Informix动态服务器4.50.JC1的Info
Connection.setClientInfo("ApplicationName", myAppName);
使用PostgreSQL,我可以通过SQL查询查看myAppName
:
select * from pg_stat_activity;
使用Informix,我希望在syssessions
表的feprogram
列中看到它,但它是空的。我还尝试了onstat
命令行实用程序,但看不到任何会话列表
我的环境:
客户端:Informix动态服务器4.50.JC1的Informix JDBC驱动程序
服务器:IBM Informix动态服务器版本11.50.FC4
如何查看连接到Informix数据库的应用程序名称?Informix 12.10.xC10新功能显示:
- 更轻松的会话跟踪
CSDK:引入新的CLIENT_LABEL环境变量,方便客户端标记自己以进行监视
onstat -g ses
onstat -g env
在sysmaster上选择也可用于跟踪
请考虑升级ASP。 < P> >这里有两件事需要注意。首先,至少在Informix 12.10和14.10服务器上,程序由JDBC驱动程序填充。JDBC驱动程序根据是否提交FEP程序数据和11.50是否太旧来查找服务器功能 下面是一个使用4.50.1 JDBC驱动程序和14.10 Informix服务器的程序输出示例
[bhughes@ultima ~]$ dbaccess sysmaster -
Database selected.
> select feprogram from syssessions where sid=429;
feprogram Thread[id:1, name:main, path:/work/jdbc/jdbc-4.50.1.jar]
1 row(s) retrieved.
现在介绍JDBC和Connection.setClientInfo()API。JDBC规范只要求驱动程序支持为返回的任何参数设置/获取客户机信息。Informix在4.50.1中没有为此返回任何值,因此这告诉我们,它此时不支持从连接对象设置或检索任何客户端信息属性
“ApplicationName”客户机信息参数不是JDBC标准,而是一个特定于供应商的参数,并非所有数据库都支持该参数
如果informixjdbc驱动程序确实支持客户机信息属性,那就太好了,只是目前还不支持
至于Alexandre提供的客户端标签,很抱歉,您必须拥有相应的12.10XC10或更高版本的服务器才能正常工作。我想您可以在11.50之后的版本(可能是11.70,可能是12.10,可能是14.10)中看到这些信息。您的目标应该是从11.50更新到至少12.10,最好是14.10。客户端标签需要相应的12.10.xC10或更高版本的服务器才能正常工作。我注意到知识中心的客户标签文档中没有提到该部分。