我这里遇到了一个相当奇怪的问题。我们正在使用Pentaho Kettle来管理数据库模式(该模式又使用MySQL JDBC mysql-connector-java-5.1.17.jar)。在尝试创建一个包含另一个视图(在这种情况下是接口)的视图时,我们遇到了以下错误:
2012/06/26 11:46:55 - SQL2 - ERROR : Couldn't execute SQL: CREATE OR REPLACE VIEW `test_delete2` as select * from interfaces
2012/06/26 11:46:55 - SQL2 - ERROR : ANY command denied to user 'ncim'@'xxx.xxx.xxx..xx' for table '/var/mysql/mysql2018/tmp/#sql_4e67_0'
然而,使用相同的语句和用户,但通过mysql命令行客户端进行操作,则如预期那样工作。此外,使用JDBC在普通表上创建视图也是有效的。
这是在服务器端运行的MariaDB 5.2.10和Solaris 10,但我们在Oracle MySQL上也遇到了同样的问题。
有什么好的想法可以解决这个问题吗?
PS:我知道在视图上创建视图并不是一个好主意,但暂时假设在本例中无法避免此情况。