Azure ADF中Snowflake数据集连接报错9602求助
解决Snowflake链接服务后续操作报错9602的方案
针对错误代码9602(提示ERROR [22000] Cannot perform SELECT. This session does not have a current database.),以下是已验证的解决方法:
使用全限定对象名
在查询或数据集配置中,直接指定完整的数据库、架构和表名,格式为DATABASE.SCHEMA.TABLE。例如数据库为MY_DB、架构为PUBLIC时,查询语句写为:SELECT * FROM MY_DB.PUBLIC.MY_TABLE;确保所有对象名使用全大写(Snowflake默认对未加引号的对象名自动转为大写)。
配置链接服务的初始化SQL
编辑Snowflake链接服务,找到「初始化SQL」或「会话属性」配置项,添加以下语句强制会话初始化时切换到指定数据库和架构:USE DATABASE YOUR_FULL_UPPERCASE_DB_NAME; USE SCHEMA YOUR_SCHEMA_NAME;保存后重新测试数据集操作。
检查数据集的默认配置
进入数据集编辑页面,确认「数据库」和「架构」字段已正确选中并保存,避免因配置丢失导致会话无默认库。重新验证角色权限
再次确认关联角色拥有目标数据库的USAGE权限,执行以下SQL验证:GRANT USAGE ON DATABASE YOUR_DB_NAME TO ROLE YOUR_ROLE_NAME; GRANT USAGE ON SCHEMA YOUR_DB_NAME.YOUR_SCHEMA_NAME TO ROLE YOUR_ROLE_NAME;重置链接服务
删除当前Snowflake链接服务,重新创建并完整填写数据库、架构、角色等参数,再关联数据集测试,避免缓存的异常会话影响。
内容的提问来源于stack exchange,提问作者Divya Pardeshi
相关产品推荐
相关产品推荐

