I'm trying to call a stored procedure from Snowflake into Excel PowerQuery using an ODBC connection. It works fine when I pass a single or multiple dates (in varchar format), but when I pass a string value (either single or multiple parameters), it gives the following error.
Note that this "Call" runs fine in Snowflake and there are no syntax errors in the procedure itself.
= Odbc.Query("dsn=SNOWFLAKE", "CALL FINANCE_DEV.FINANCE_DB.TEST_PROC_TWO_PERIODS('202303','202304') ;") --Works fine
= Odbc.Query("dsn=SNOWFLAKE", "CALL FINANCE_DEV.FINANCE_DB.TEST_PROC_PERIOD_STATE('MD','202304') ;") --Does not work; see error below
DataSource.Error: ODBC: ERROR [07002] [Snowflake][ODBC] (10690) Expected descriptor record does not exist during query execution.
Any thoughts on this?
Hi,
I was getting a similar problem. I had a Snowflake stored procedure that worked fine when called in Snowflake, but gave the error when called through ODBC. After some testing I narrowed it down to something with using multiple variables in a query inside the procedure.
With the following command in my proc, I get the error when calling the proc through ODBC:
select count(*) into :return_value from identifier(:my_table_name);
With either of these commands instead, the error doesn't appear:
select count(*) into :return_value from my_table;
select count(*) from identifier(:my_table_name);
I was able to re-write the procedure to avoid using the "into" and the ODBC problem is gone for me now. Hopefully this helps.
I'm experiencing the same issue, anyone have an idea what to look at to fix?
Join us for a free, hands-on Microsoft workshop led by women trainers for women where you will learn how to build a Dashboard in a Day!