You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Matillion中执行Snowflake Stored Procedure遇Unknown user defined function错误求助

在Matillion中调用Snowflake存储过程解决「Unknown user defined function」错误的方案

核心解决步骤

  • 修正调用语法
    Snowflake存储过程必须用CALL语句执行,不能像用户自定义函数(UDF)那样用SELECT调用。正确写法示例:
CALL YOUR_STORED_PROCEDURE_NAME(参数1, 参数2);

如果误用SELECT YOUR_STORED_PROCEDURE_NAME(...),系统会将其识别为未定义的用户函数,直接触发你遇到的错误。

  • 确认存储过程的归属与权限
    • 若存储过程不在当前默认的数据库/ schema下,调用时必须指定完整的三部分名称:CALL DATABASE_NAME.SCHEMA_NAME.PROCEDURE_NAME(参数列表);
    • 检查Matillion使用的Snowflake角色是否具备执行权限,需执行以下授权语句(替换占位符):
GRANT USAGE ON SCHEMA YOUR_SCHEMA TO ROLE YOUR_MATILLION_ROLE;
GRANT EXECUTE ON PROCEDURE YOUR_SCHEMA.YOUR_PROCEDURE(参数类型1, 参数类型2) TO ROLE YOUR_MATILLION_ROLE;
  • 核对Matillion组件配置
    • 确保Sql Script组件的「Database」和「Schema」配置项与存储过程所在的完全一致
    • 如果存储过程需要特定计算仓库,可在CALL语句前指定:
USE WAREHOUSE YOUR_WAREHOUSE;
CALL YOUR_PROCEDURE(...);
  • 验证存储过程本身有效性
    先在Snowflake Web UI中用相同角色执行CALL语句,确认存储过程能正常运行,排除自身语法或逻辑问题。

错误截图

Matillion执行Snowflake存储过程报错截图

内容的提问来源于stack exchange,提问作者sagyy_sf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 08:01:57