使用Tableau Desktop连接Snowflake拉取表时遇对象不存在或权限错误
问题解答:Snowflake连接Tableau时的"对象不存在或未授权"错误
这个错误确实和权限直接相关,同时也可能伴随对象定位的问题,具体原因主要有以下几类:
- 角色权限层级不足:RO(只读)角色未被授予
APEX_RAW_TKHIST1表的SELECT权限,或者缺少该表所在数据库、架构的USAGE权限。Snowflake的权限是层级继承的,必须同时拥有数据库、架构的USAGE权限,以及表的SELECT权限,才能正常访问。 - 对象引用不完整:查询时未使用Snowflake要求的三级完整命名格式(
数据库名.架构名.表名),导致会话使用默认的数据库/架构去查找表,若默认值与表实际所在位置不符,就会触发"对象不存在"的错误。比如表实际在MY_DB.MY_SCHEMA.APEX_RAW_TKHIST1,但你只写了APEX_RAW_TKHIST1。 - 角色未正确生效:虽然你选择了RO角色登录,但会话可能未成功切换到该角色,实际使用的是权限更低的默认角色。可以在Snowflake中执行
SELECT CURRENT_ROLE();命令,确认当前生效的角色是否为RO。 - 对象本身的问题:先确认
APEX_RAW_TKHIST1表是否真实存在——可能存在表名拼写错误(若表是用双引号创建的,查询时也需要用双引号包裹表名,否则会自动转为大写匹配),或者表已被删除、重命名。
内容的提问来源于stack exchange,提问作者Surabhi Surabhi
相关产品推荐
相关产品推荐

