首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >setClientProgramName in DataSource

setClientProgramName in DataSource
EN

Stack Overflow用户
提问于 2022-01-27 11:52:22
回答 1查看 137关注 0票数 0

tomcat9中,context.xml中有一个设置

代码语言:javascript
复制
<Resource name="jdbc/db2xx"         auth="Container"    
    type="javax.sql.DataSource"     driverClassName="com.ibm.db2.jcc.DB2Driver" 
    maxTotal="100"                  maxIdle="30"      
    maxWaitMillis="-1"              username="xx" password="xx"         
    url="jdbc:db2://xxxx:xxx/dbname;" />

Java中是:

代码语言:javascript
复制
    try {
        Class.forName("com.ibm.db2.jcc.DB2SimpleDataSource");
        Context initContext = new InitialContext();
        Context envContext = (Context) initContext.lookup("java:/comp/env");
        com.ibm.db2.jcc.DB2SimpleDataSource ds = (com.ibm.db2.jcc.DB2SimpleDataSource) envContext.lookup("jdbc/db2xx");
        ds.setClientProgramName("MyApplication");
        conn = ds.getConnection();
    }

但我错了:

代码语言:javascript
复制
java.lang.ClassCastException: org.apache.tomcat.dbcp.dbcp2.BasicDataSource cannot be cast to com.ibm.db2.jcc.DB2SimpleDataSource

我要换衣服吗?

org.apache.tomcat.dbcp.dbcp2.BasicDataSource

在哪里?要点是

ds.setClientProgramName("MyApplication");

因为我想看看

MyApplication in APPLICATION_NAME

当我跑的时候

SELECT APPLICATION_NAME FROM TABLE(MON_GET_CONNECTION(CAST(NULL AS BIGINT),-2))

或者还有别的办法吗?

如果我正在使用javax.sql.DataSource程序工作,但我不能使用setClientProgramName

在maven pom中:

代码语言:javascript
复制
    <dependency>
        <groupId>com.ibm.db2</groupId>
        <artifactId>jcc</artifactId>
        <version>11.5.7.0</version>
    </dependency>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-27 13:01:58

驱动程序对JDBC和SQLJ的客户端信息属性支持

代码语言:javascript
复制
ApplicationName
ClientAccountingInformation
ClientHostname
ClientUser

上述链接中提到的这些属性不能用URL设置。

它们可以使用JDBC 4方法(使用db2jcc4.jar,而不是JDBC 3实现的db2jcc.jar )来设置,setClientInfo 只用于,如下所示:

代码语言:javascript
复制
conn = ds.getConnection();
conn.setClientInfo("ApplicationName", "MyApplication");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70878117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档