【问题标题】:Snowflake UDF returns "Unknown user-defined function" For Existing UDFSnowflake UDF 为现有 UDF 返回“未知的用户定义函数”
【发布时间】:2022-11-29 04:20:59
【问题描述】:

我有一个可以在我的 snowflakecomputing.com 控制台中调用的 UDF。

SELECT DECODE_UTF8('some string')

效果很好,直到我尝试从 Python 脚本以编程方式调用它。我收到这个...

snowflake.connector.errors.ProgrammingError: 002141 (42601):
or:
Unknown user-defined function CS_QA.CS_ANALYTICS.DECODE_UTF8

我什至完全限定它(即 db.schema.function)

谁能建议修复?谢谢你。

【问题讨论】:

    标签: python snowflake-cloud-data-platform user-defined-functions


    【解决方案1】:

    很可能用于从 Python 连接的用户(和分配的角色)无权访问该 UDF。这个假设可以通过使用 INFORMATION_SCHEMA.FUNCTIONS 来验证:

    该视图仅显示会话的当前角色已被授予访问权限的对象。

    SELECT *
    FROM CS_QA.INFORMATION_SCHEMA.FUNCTIONS;
    

    另一种可能性是完全限定名称的一部分区分大小写,需要用 " 包装

    SELECT "CS_QA"."CS_ANALYTICS".DECODE_UTF8('some string');
    

    【讨论】:

      【解决方案2】:

      我相信,您可能必须先切换到定义函数的数据库。

      使用数据库用户定义; SELECT DECODE_UTF8('一些字符串')

      那应该有效。

      【讨论】:

        猜你喜欢
        • 2021-09-30
        • 2022-08-03
        • 2021-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-25
        • 1970-01-01
        • 2020-11-07
        相关资源
        最近更新 更多