Я пытаюсь вызвать внешнюю хранимую процедуру (вызывает программу RPG). Я продолжаю получать следующую ошибку:
"Сведения об исключении: IBM.Data.DB2.iSeries.iDB2SQLErrorException: SQL0104 токен @SSN недействителен. Допустимые токены::."
Вот мой код:
using (iDB2Connection conn = new iDB2Connection(_CONNSTRING))
{
conn.Open();
string sqlStatement = "MPRLIB.SIGNTIMESHEET (@SSN, @SIGNATURE, @WORKSTATION, @TOTALHOURS, @COMMENT)";
//string sqlStatement = "MPRLIB.SIGNTIMESHEET (?, ?, ?, ?, ?)";
iDB2Command cmd = conn.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = sqlStatement;
cmd.Parameters.Add("@SSN", timesheet.EmployeeUniqueKey.ToString("0000000000"));
cmd.Parameters.Add("@SIGNATURE", timesheet.EmployeeTypedName);
cmd.Parameters.Add("@WORKSTATION", timesheet.EmployeeSignedComputer);
cmd.Parameters.Add("@TOTALHOURS", GetJobHoursTotal(timesheet.Id).ToString("00000.000").Replace(".", ""));
cmd.Parameters.Add("@COMMENT", timesheet.EmployeeComments);
cmd.ExecuteNonQuery();
conn.Close();
}
Не могу понять, что происходит или почему я получаю вышеуказанную ошибку. Моя строка подключения выглядит так:
private const string _CONNSTRING = "DataSource=192.168.50.200;DefaultCollection=QMFILES;Naming=sql;UserID=XXX;Password=XXX;";
Может быть, проблема со списком библиотек? Программа просто ссылается на один файл, который находится в списке библиотек. Есть предложения?