ASP.NET说调用存储过程时不存在FUNCTION

时间:2014-02-19 03:32:10

标签: mysql asp.net stored-procedures

ADO.NET用于访问我的应用程序中的MySQL数据库。一些存储过程是在室外开发的。我将它们应用到数据库中。尝试访问数据库中的存储过程时,会发生以下异常:

功能your_db.log_insertLogMessage不存在

调用此代码时:

MySqlCommand cmd = CreateCommand(procName, prams);
return cmd.ExecuteNonQuery();

procName是正确设置的字符串。 Prams是MySqlParameter数组。在调试器中,“?”在Visual Studio中展开时,将显示数组值。

似乎无需访问数据库。我将数据库名称更改为虚拟名称,并且对于不存在的数据库有不同的错误。

我删除了所有存储过程,并收到一条新错误,指出不存在具有给定名称的函数或存储过程。

然后我重新应用了存储过程,现在我又回到了原始错误。存储过程的代码是:

CREATE DEFINER=`root`@`localhost` PROCEDURE `log_insertLogMessage`<br>
(IN `Name` varchar(100), IN `Description` varchar(5000), IN `Message` varchar(5000)
)

begin

INSERT INTO DBlog(UserName, Descr, LogMessage, WhenOccurred) values(Name, Description, Message, CURDATE());

end

我可以在MySQL本身中无问题地调用存储过程。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

我弄明白了这个问题。我不得不切换到旧版本mySql.data.dll。数据库设置正确,代码很好。这只是一个连接器问题。