Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我目前正在编写一个用于监视 Web 应用程序生成的 SQL 查询的应用程序。我有兴趣监视给定应用程序被动发送的 SQL 查询。也就是说,我不想要代理 - 相反,我想运行应用程序以与 Web 应用程序/数据库分开,并简单地读取应用程序正在执行的 SQL 查询。无论如何用Java/C++来做这件事吗?
您使用的是哪个数据库?SQL Server Profiler 允许您实时监控数据库活动,根据用户过滤 SQL 语句等。
另外,您为什么要避免使用代理实现?您可以使用连接池(例如 C3P0)并启用适当的日志记录以捕获所有执行的 SQL。我可以想象性能影响可以忽略不计。
您可以使用 mysql 数据库本身的日志。您可以让程序读取该日志文件并显示它。您说的是 C++ 或 java,但是具有良好字符串处理能力的东西可能会更容易。Perl 也许?
http://dev.mysql.com/doc/refman/5.0/en/query-log.html