【发布时间】:2020-03-11 09:18:35
【问题描述】:
我在 Snowflake 中有程序,想从我的计时器触发 Azure 函数应用程序中调用它。
该过程需要一个字符串类型的参数。以下是我连接到 Snowflake 并使用参数调用该过程的代码 sn-p。
using (IDbConnection conn = new SnowflakeDbConnection())
{
//Connect to Snowflake
conn.ConnectionString = Environment.GetEnvironmentVariable("SnowflakeConnection");
conn.Open();
using (IDbCommand cmd = conn.CreateCommand())
{
if (conn.State == ConnectionState.Open)
{
cmd.CommandText = "SP_Snowflake_Procedure";
//cmd.CommandType = CommandType.StoredProcedure;
var date = cmd.CreateParameter();
date.ParameterName = "RUNDATE";
date.DbType = DbType.String;
date.Value = "2018-01-01";
cmd.Parameters.Add(date);
using (IDataReader dr = cmd.ExecuteReader())
{
/****************
Logic to work on data
received from SP
*****************/
}
}
}
}
当控制到 cmd.ExecuteReader() 时,它失败并出现错误:
Snowflake.Data: SQL 编译错误:位置 0 处的语法错误第 1 行意外'SP_Snowflake_Procedure'。
我不明白这个雪花,如何调用程序。我有一个想法,它类似于MS SQL。但我错了。我什至找不到合适的相关文件。
我可以在没有过程调用的情况下使用相同的代码,但可以使用简单的 SELECT 语句并且工作正常。
在这里建议我进行任何更改。
【问题讨论】:
标签: snowflake-cloud-data-platform azure-function-app snowflake-schema