在Knime数据库编写器节点

时间:2017-05-26 17:53:00

标签: mysql database knime

在新的KNI​​ME工作流程中。我创建了一个新的数据库连接节点和一个新的Database Writer节点,该节点从CSV读取器节点接受其数据。 数据库连接节点的执行成功。 当我执行数据库编写器节点时,我收到CREATE命令被拒绝错误。

数据库连接器节点的配置如下: 数据库URL:jdbc:mysql:// localhost:3306 / hello_knime_database
用户名:test
 密码:测试

mysql配置:

$ mysql -u test -p
mysql> show databases;
+----------------------+
| Database             |
+----------------------+
| information_schema   |
| hello_knime_database |
+----------------------+
2 rows in set (0.00 sec)
mysql> show grants;
+--------------------------------------------------------------------------
-------------------+
| Grants for test@localhost                                                                    
|
+--------------------------------------------------------------------------
-------------------+
| GRANT USAGE ON *.* TO 'test'@'localhost'                                                    
|
| GRANT ALL PRIVILEGES ON `hello_knime_database`.* TO 'test'@'localhost'                      
|
| GRANT ALL PRIVILEGES ON `hello_knime_database`.`hello_knime_database` TO 
'test'@'localhost' |
+--------------------------------------------------------------------------
-------------------+
3 rows in set (0.01 sec)

数据库编写器配置:
端口1输入:大约32000行和15列的数据表。
端口2输入:数据库连接器
表名:hello

KNIME版本:3.3.2

当我执行Database Writer节点时,我得到:

ERROR Database Writer      0:3        Execute failed: CREATE command denied to user 'test'@'localhost' for table 'hello'

导致这种情况的任何线索?

1 个答案:

答案 0 :(得分:1)

来自MySql

  

授权表重新加载会影响每个现有客户端的权限   连接如下:       表和列权限更改将随客户端的下一个请求生效。       数据库权限更改将在客户端下次执行USE db_name语句时生效。

Note
Client applications may cache the database name; thus, this effect may not be visible to them without actually changing to a different  database or flushing the privileges.
     

对于已连接的客户端,全局权限和密码不受影响。   这些更改仅对后续连接生效。