Edit: the answer to the first question is that the application calls the reader instance of the cluster. I can reproduce the problem with workbench if I execute the procedure on the reader instance.
I have a stored procedure with a temporary table. I am using Amazon AWS RDS (Aurora) MySql. I create the temporary table like:
create temporary table if not exists tmpResources(
pkKey varchar(50) NOT NULL, PRIMARY KEY(resource), UNIQUE KEY(resource),
...
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
When I call the procedure from MySql workbench it executes fine. When I call it from my application, I receive the following error:
The 'InnoDB' feature is disabled; you need MySQL built with 'InnoDB' to have it working
I have an asp.net web application, using the Oracle c# drivers version 8.0.20. AWS RDS is currently MySql version 5.7.12.
There are 2 very perplexing questions: 1. Why does it work differently when called from workbench? The error seems to be coming from server side. 2. Why do I get this error about InnoDB disabled, when it is clearly not disabled?
Thanks for any insight...