问题标签 [p6spy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 用于检测 java jdbc 代码中的非参数化 sql 的工具
我希望检查 Java/jdbc 代码中的 SQL 语句,以确保要执行的 SQL 具有可接受的质量。PMD 和 Findbugs 似乎都没有 JDBC 或 sql 规则。我可以使用 p6spy 记录 SQL 并以这种方式查看,但这是手动的。
我想知道使用 PMD/Findbugs/etc 的策略是否创建一个规则,即任何传递给 PreparedStatement 的有“=”或“in”的字符串在比较端只有参数化的变量。
有人做过吗?还是通过其他方式做到这一点?
sql - Anything better than P6Spy?
I am planning to use P6Spy to intercept database statements within our architecture. However, I noticed on the P6Spy website that the last release of the software was back in 2003. Is there anything out there that is better or should I just stick with P6Spy?
jdbc - Websphere 6.1 中的 SQL 日志记录
我正在寻找一个在我使用应用程序时记录应用程序中触发的 SQL statemetns 的工具。
我找到了 p6spy。但这有一个问题。它似乎与 XA 数据源不兼容。
有没有办法让 p6spy 在 Websphere 6.1 上工作,或者是否有替代 p6spy 的方法?
此外,如果有人有任何 AspectJ 代码拦截 PreparedStatment 对象并转储 SQL,那也很好。
filtering - 使用 P6SPY 过滤
有没有办法在 p6spy 中设置过滤器,这样它只记录“插入/删除/更新”而不是“选择”SQL 语句?
p6spy 的文档提到:“P6Spy 允许您监视特定的表或特定的语句类型”
他们给出的一个例子如下:
以下示例显示了所有 select 语句的捕获,但 order 表除外:
所以我想,必须有一种方法来包含插入、删除、更新和排除选择......因此,我准备了我的属性文件,如下所示:
但这似乎不起作用。有人有什么建议吗??
java - 休眠p6spy问题
我试图掌握hibernate在幕后所做的事情,并且我使用p6spy作为mysql jdbc驱动程序的代理,这样我就可以看到数据库的真正内容。但是,我对 p6spy 的输出感到有些困惑-感谢任何光线!
问题是这样的。我正在创建Test1 类的两个新对象,即test1a 和test1b。我的日志中的输出如下:
我可以看到两个“批处理”语句,大概来自对 jdbc addBatch api 的调用,但是那个 '1274973057267|2|1|statement' 在那里做什么?看起来第二次插入重复了,但我知道不是这样,否则我会在我的数据库中看到 3 行而不是两行,或者至少是一个错误。
为什么我看到第二个插入语句重复?
如果我在我的 spy.properties 中排除“批处理”,我只会看到这条奇怪的流氓行。
感谢您的任何照明!
jdbc - P6spy 不会监视 hsql jdbc 驱动程序
当试图监视与 hsqldb 数据库的 jdbc 连接时,它不起作用。看起来 org.hsqldb.jdbcDriver 没有注销。
hibernate - 在休眠应用程序中使用 P6Spy 拦截对数据库的 JDBC 语句
我正在开发一个休眠控制台应用程序并参考这篇文章http://www.mkyong.com/hibernate/how-to-display-hibernate-sql-parameter-values-solution/来设置 P6Spy 以查看是什么Hibernate 生成的 SQL 的“(?)”的实际值。
设置应该可以正常工作,因为我可以在应用程序启动期间看到 P6Spy 输出的信息/调试消息。但是,在那之后,P6Spy 似乎无法拦截任何 JDBC 语句。从hibernate生成的日志(例如:)Hibernate: insert into Module (projectName, moduleName, projectId) values (?, ?, ?)
可以确定JDBC语句已经发送到数据库。
以下是我的设置:
休眠.cfg.xml
- 已指定使用 P6Spy 驱动程序:
<property name="hibernate.connection.driver_class">com.p6spy.engine.spy.P6SpyDriver</property>
- 已经打开了 hibernate.show_sql 属性:
<property name="hibernate.show_sql">true</property>
间谍属性
- 已更改为使用我的实际数据库 JDBC 驱动程序,过滤器设置为 false,包含类别已明确设置为记录任何内容。
我错过了任何重要的设置吗?
sql - 修改JDBC生成的sql语句
拦截和修改jdbc驱动生成的sql语句最简单的方法是什么?有类似 P6Spy 的东西。根据来自 google 的信息,一个开源框架,支持拦截和选择性修改数据库语句的应用程序。但该软件的上一个版本是在 2003 年,网站已关闭,没有 wiki、教程等。还有其他选择吗?
谢谢帮助
p6spy - P6SPY 是如何工作的?
问题中的几乎所有内容。我刚刚发现 p6spy 与 hibernate 相关联,看到实际的 sql 查询真的很酷,尽管我对它的工作原理感到很困惑。
那么它是怎样工作的?
oracle - 为什么 p6spy 没有为 Oracle 显示正确的空间查询?
我将 p6spy 设置为显示所有 SQL 语句。但它没有为空间查询显示正确的 SQL 语句。这是一个例子:
空间对象表示为“oracle.sql.STRUCT@3848d632”。你知道如何让它正确显示吗?
谢谢,