数据库操作监听与类加载控制技术解析
1. 数据库操作监听技术
在进行数据库操作时,有时需要监听数据库调用,以了解应用程序与数据库之间的交互情况。以下是几种常见的监听方法:
- 从应用源码或字节码收集 SQL 语句 :理论上,可以遍历应用的源码或字节码,收集所有以字符串形式存储的 SQL 语句。然而,对于包含大量 SQL 语句或动态生成 SQL 的应用来说,这种方法可能会有问题。
- 依靠数据库自身日志 :数据库本身可以提供 SQL 语句的日志记录。这比从应用代码中收集更可靠,但需要数据库的管理权限,并且如果多个应用共享同一个数据库,操作可能并不容易。
- 使用 JDBC API 日志 :JDBC API 提供了通过 DriverManager 的 setLogWriter 方法在驱动级别记录数据库操作的功能。它会输出一些信息,如驱动注册、用于创建数据库连接的 URL 和连接类名等。但问题是,它不提供最重要的信息,如 SQL 语句和传递给数据库的值。
以下是一个 JDBC 驱动日志输出的示例:
DriverManager.initialize: jdbc.drivers = null
JDBC DriverManager initialized
registerDriver: driver[className=com.sybase.jdbc2.jdbc.SybDriver...]
registerDriver: driver[className=com.sybase.
超级会员免费看
订阅专栏 解锁全文
85万+

被折叠的 条评论
为什么被折叠?



