2013-07-10 23 views
0

我必须在Firebird中执行一些查询,但是我需要隐藏在mon $语句或其他任何其他日志数据库中查看“查询源”。如何在Firebird中运行时隐藏查询语句?

这是因为查询有一些业务规则,我无法向其他人公开。

有没有办法做到这一点?或者我可以使用一些“技巧”?

回答

5

没有办法做到这一点。但MON$STATEMENT只显示您自己的查询,除非您是SYSDBA,数据库的所有者或具有RDB$ADMIN角色的用户(然后您可以看到所有查询)。除MON$STATEMENT之外,还有一个跟踪工具,它允许有足够访问权限的人查看查询(在服务器上或通过服务api)。对数据库访问权限不足的用户,如果能够看到应用程序和数据库服务器之间的网络流量,仍然可以看到查询。

唯一的方法是不要将任何形式的数据库服务器访问给那些不应该能够看到查询的人。这可以通过将应用程序作为Web应用程序托管,或者在数据库和实际应用程序之间放置Web服务或其他形式的中间件来完成。