gpt4 book ai didi

mysql - "ANY Command denied for user"通过 JDBC 的 View-over-View DDL

转载 作者:可可西里 更新时间:2023-11-01 07:45:28 25 4
gpt4 key购买 nike

我遇到了一个很奇怪的问题。我们使用 Pentaho Kettle 来管理我们数据库的模式(它又使用 MySQL JDBC mysql-connector-java-5.1.17.jar)。当尝试创建一个包含另一个 View (在本例中为接口(interface))的 View 时,我们得到:

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 在普通表上创建 View 也可以。

这是在服务器端的 Solaris 10 上的 MariaDB 5.2.10,但我们也遇到了与 Oracle MySQL 相同的问题。

有什么好主意会导致这种情况吗?

PS:我知道在 View 之上创建 View 并不是最好的主意,但暂时假设在这种情况下无法避免。

最佳答案

我发现发出使用数据库 statement在创建 View 之前解决了我的问题。这似乎与 MySql 错误报告有关 Bug #91122 “无法创建包含来自子查询的 View (未选择数据库)”

基本上,如果您尝试使用 dbname.view_name 语法创建 View ,则会出现错误。但是,如果您事先发出 use database 语句,那么一切都很好。

关于mysql - "ANY Command denied for user"通过 JDBC 的 View-over-View DDL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11205843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com