gpt4 book ai didi

jdbc - 如何获取 JDBC 连接 ID?

转载 作者:行者123 更新时间:2023-12-02 19:42:29 31 4
gpt4 key购买 nike

我需要使用 Connection 对象获取 JDBC 连接 id(UUID)。有什么方法可以获取连接ID吗?

最佳答案

好吧,如果您指的是“sql-connection to sql-server”,那么 jdbc 对此没有标准工具。这是 jdbc:mysql 的手工示例(注意 - 反射和限制字符):

    private long getJdbcConnectionId(Connection conn) {
long cid = 0;
try {
Field f_conn__conn = conn.getClass().getSuperclass().getDeclaredField("_conn");
f_conn__conn.setAccessible(true);
Object o_conn__conn = f_conn__conn.get(conn);
Field f_conn__conn__conn = o_conn__conn.getClass().getSuperclass().getDeclaredField("_conn");
f_conn__conn__conn.setAccessible(true);
Object o_conn__conn__conn = f_conn__conn__conn.get(o_conn__conn);
Field f_connectionId = o_conn__conn__conn.getClass().getSuperclass().getDeclaredField("connectionId");
f_connectionId.setAccessible(true);
cid = f_connectionId.getLong(o_conn__conn__conn);
f_connectionId.setAccessible(false);
f_conn__conn__conn.setAccessible(false);
f_conn__conn.setAccessible(false);

} catch (Exception e) {
e.printStackTrace();
}
return cid;
}

关于jdbc - 如何获取 JDBC 连接 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13397931/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com