2

我有以下想法来调查并找出是否可行。我在 linux 机器上有一个 db2 服务器和两种应用程序服务器,geronimo 和 websphere。我想知道是否可以将 geronimo 或 websphere 连接关联到 db2 代理。换句话说,我想知道在任何给定时刻,Web 应用程序的哪个用户正在数据库中运行哪个查询。先感谢您,

4

1 回答 1

0

您可以创建两个用户,一个用于 Geronimo,一个用于 Websphere,这两个用户都在同一个组中。您将权限授予该组,两个用户将拥有相同的权限。

然后,当您发布“应用程序列表”时,您可以区分 Geronimo 和 Websphere 的连接。

如果要更改应用程序名称,有两种方法,具体取决于 java 连接。

Class.forName

Class.forName("com.ibm.db2.jcc.DB2Driver");
Properties props = new Properties();
props.put("user", "scott");
props.put("password", "tiger");
props.put("clientProgramName", "My Program 1");
Connection conn = DriverManager.getConnection(
"jdbc:db2://localhost:50000/sample", props);

数据源

Connection conn = null;
DB2SimpleDataSource ds = new com.ibm.db2.jcc.DB2SimpleDataSource();
ds.setDriverType(4);
ds.setServerName("localhost");
ds.setPortNumber(50000);
ds.setDatabaseName("sample");
ds.setUser("scott");
ds.setPassword("tiger");
ds.setClientProgramName("My Application 2");
conn = ds.getConnection();

您可以通过检索应用程序服务器名称来动态分配连接名称。

我为此写了一篇博客:http: //angocadb2.blogspot.fr/2012/12/nombre-de-la-conexion-java-en-db2-java.html

于 2013-05-10T18:54:59.340 回答