gpt4 book ai didi

python-3.x - 如何从 Python 执行 Snowflake 存储过程?

转载 作者:行者123 更新时间:2023-12-05 04:50:55 27 4
gpt4 key购买 nike

我在 snowflake 中创建了存储过程,它在 snowflake UI 中执行良好,也可以通过使用 snowsql 从服务器中执行。现在我想从 python 程序执行过程,我尝试从 python 执行,这是我遵循的步骤:

  1. 建立与snowflake的连接(能够成功连接。)

cs = ctx.cursor()

  1. 使用适当的角色、仓库、数据库和架构。
  2. 尝试执行这样的程序:

cs.execute("call test_proc('value1', 'value2')")   
x = cs.fetchall()
print(x)

但是出现错误:

snowflake.connector.errors.ProgrammingError: 002140 (42601): SQLcompilation error: Unknown function test_proc

你能帮我解决这个问题吗

谢谢,

最佳答案

使用 Python connector 连接到 Snowflake 时你可以定义 DATABASE/SCHEMA

conn = snowflake.connector.connect(
user=USER,
password=PASSWORD,
account=ACCOUNT,
warehouse=WAREHOUSE,
database=DATABASE,
schema=SCHEMA
);

设置完成后,您可以在不使用完全限定名称的情况下调用存储过程:

cs.execute("call test_proc('value1', 'value2')");

另一种方法是:

Using the Database, Schema, and Warehouse

Specify the database and schema in which you want to create tables. Also specify the warehouse that will provide resources for executing DML statements and queries.

For example, to use the database testdb, schema testschema and warehouse tiny_warehouse (created earlier):

conn.cursor().execute("USE WAREHOUSE tiny_warehouse_mg")
conn.cursor().execute("USE DATABASE testdb_mg")
conn.cursor().execute("USE SCHEMA testdb_mg.testschema_mg")

关于python-3.x - 如何从 Python 执行 Snowflake 存储过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67143263/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com