我有以下想法进行调查并找出是否可行。我在linux机器上有一个db2服务器和两种应用服务器,geronimo和websphere。我想知道是否可以将geronimo或websphere连接与db2代理关联。 换句话说,我想知道Web应用程序的哪个用户在任何给定时刻在数据库中运行哪个查询。 提前谢谢你,
答案 0 :(得分:0)
您可以创建两个用户,一个用于Geronimo,另一个用于Websphere,两个用户位于同一组中。您授予该组权限,并且两个用户都具有相同的权限。
然后,当您发出'list applications'时,您可以区分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