Думаю, пришло время попросить помощи с этой ошибкой, так как я перепробовал все, что мог. По сути, я создал в MySQL хранимую процедуру под названием AddUser, а имя базы данных — PersonalWebsiteColdfusion. Я могу гарантировать вам, что он существует. Если это полезно, я использую Windows IIS 7.5 и OpenBD для Coldfusion. Также просто чтобы уточнить, что я создал и проверил источник данных в веб-администраторе OpenBD. MySQL - это версия 5.6, и это 64-разрядная среда. Дело в том, что он работает с cfquery, но я бы предпочел использовать cfstoredproc, если это возможно. Ошибка в основном то, что написано в заголовке. Надеюсь, кто-то может помочь.
Обновлено, чтобы дать соответствующий код процедуры.
<cfstoredproc datasource="PersonalWebsiteCF" procedure="AddUser" returnCode="yes">
<cfprocparam cfsqltype="cf_sql_varchar" value="#form.txtFirstName#" type="in" variable="strFirstName" />
<cfprocparam cfsqltype="cf_sql_varchar" value="#form.txtLastName#" type="in" variable="strLastName" />
<cfprocparam cfsqltype="cf_sql_varchar" value="#form.txtEmail#" type="in" variable="strEmail" />
<cfprocparam cfsqltype="cf_sql_varchar" value="#form.txtUsername#" type="in" variable="strUsername" />
<cfprocparam cfsqltype="cf_sql_varchar" value="#form.txtPassword#" type="in" variable="strPassword" />
<cfprocparam cfsqltype="cf_sql_timestamp" value="#Now()#" type="in" variable="strDateJoined" />
<cfprocparam cfsqltype="cf_sql_varchar" value="#cgi.remote_addr#" type="in" variable="strIP" />
<cfprocparam cfsqltype="cf_sql_varchar" value="Member" type="in" variable="strMembershipStatus" />
<cfprocparam cfsqltype="cf_sql_varchar" value="No" type="in" variable="strActive" />
<cfprocparam cfsqltype="cf_sql_integer" value="0" type="out" variable="strUserID" />
</cfstoredproc>
Возможно, сама хранимая процедура также будет полезна:
DELIMITER //
CREATE PROCEDURE AddUser (
IN strFirstName varchar(50),
IN strLastName varchar(50),
IN strEmail varchar(50),
IN strUsername varchar(50),
IN strPassword varchar(150),
IN strDateJoined datetime,
IN strIP varchar(50),
IN strMembershipStatus varchar(50),
IN strActive varchar(50),
OUT strUserID int
)
BEGIN
INSERT INTO tblUsers (FirstName, LastName, Email, Username, Password, DateJoined, IP, MembershipStatus, Active) VALUES (strFirstName, strLastName, strEmail, strUsername, strPassword, strDateJoined, strIP, strMembershipStatus, strActive);
SET strUserID = LAST_INSERT_ID();
END//;
Я пробовал разные вещи с тех пор, как впервые опубликовал, но до сих пор не нашел решения.
Спасибо
Дуглас