在本文中,我们将了解如何使用面向 oracle、sybase 和 sql server 的 datadirect spy for jdbc 来追踪 ibm 数据复制产品 infosphere change data capture (cdc) 中的 jdbc 调用。
datadirect spy 支持 jdbc 驱动程序跟踪,这对于解决客户问题是非常有用的。ibm infosphere change data capture 引擎使用 datadirect jdbc 驱动程序来实现仅针对 oracle、sql server 和 sybase 的 jdbc 访问。
datadirect spy 是一个在运行程序中跟踪调用的工具。该工具将应用程序发出的调用传递给基础 datadirect jdbc 驱动程序,并记录关于这些调用的详细信息。从数据库向应用程序传回的结果也会被记录。如果问题被怀疑是出现在驱动程序和数据库之间(也就是,应用程序到驱动程序问题已排除),那么结果日志可用于解决故障问题。
先决条件
要理解本文内容,应具备以下基础知识:
windows® unix® 使用 ibm infosphere cdc management console 使用面向 oracle, sybase, sql server 的 ibm infosphere cdc关于 datadirect spy
jdbc api 支持查看数据库和 jdbc 驱动程序生成的警告和异常。一个 sqlexception 对象包含一个错误描述、x/open sqlstate 和驱动程序供应商的错误代码编号。要查看异常,可以使用一个 catch 块将它们打印出来。警告属于 sqlexception 的一个子类,用来处理数据库访问警告。警告不能阻止应用程序的执行;只是警告用户有些事情没有按计划进行,比如特权没按要求撤回。警告将在 connection 对象、statement 对象(包括 preparedstatement 和 callablestatement 对象)和 resultset 对象中报告。可使用 getwarnings 方法检索这些对象中的警告。
datadirect technologies 通过提供一个 jdbc developer 的 kit (sdk) 使得 jdbc 应用程序调试和故障排除变得更为容易,jdbc developer's kit (sdk) 在运行的应用程序中提供 datadirect spy for jdbc 跟踪和调用。该实用程序将应用程序发出的调用传递给基础 datadirect jdbc 驱动程序并记录详细的调用信息。从数据库传回到应用程序的结果也被记录。datadirect spy 与正在运行的应用程序一起试用以跟踪该应用程序发出的 jdbc 调用。
datadirect spy 提供以下优势:
日志记录是 jdbc 4.0 兼容的。 日志记录是一致的,与所用的 datadirect connect for jdbc 驱动程序无关。 可记录 jdbc 调用的所有参数和函数结果。 日志记录与所有 datadirect connect for jdbc 驱动程序一起使用。 无需更改应用程序就可以启用日志记录。datadirect spy 属性
datadirect spy 支持以下属性。
表 1. datadirect spy 属性及描述
属性 描述
log=system.out 定向日志到 java™ 输出标准:system.out。
log=(file)filename 重定向日志到文件名指定的文件。
linelimit=numberofchars 设置 datadirect spy 可在任何一行记录的最大字符数。默认是 0(没有最大值限制)。
logis={yes | no | nosingleread} 指定 datadirect spy 是否记录 inputstream 和 reader 对象上的活动。当为 logis=nosingleread 时,inputstream 和 reader 对象上的日志记录是活动的。然而,单字节读取 inputstream.read 或单字符 reader.read 的日志记录将被抑制,以防止生成大量包含单字节或单字符读取消息的日志文件,默认值是 no。
logtname={yes | no} 指定 datadirect spy 是否记录当前线程的名称。默认值是 no。
timestamp={yes | no} 指定每行 datadirect spy 日志是否包含一个时间戳,默认值是 no。