Ich habe diese gespeicherte Prozedur bekommt:C# gespeicherte Prozedur Start: Prozedur oder Funktion erwartet Parameter, die nicht
ALTER PROCEDURE [dbo].[sp_XNet_Backup]
@backupPath NVARCHAR(4000) = null,
@rc INT OUT
AS
BEGIN
SET @rc = 0
...
...
von C# Projekt auf diese Weise gestartet:
SqlParameter[] paramters = new SqlParameter[2];
byte i = 0;
string sp = "dbo.sp_XNet_Backup";
using (SqlConnection conn = DBManager.CreateADOConnMaster())
{
conn.Open();
SqlCommand cmd = new SqlCommand(sp, conn);
cmd.CommandType = CommandType.StoredProcedure;
paramters[i++] = new SqlParameter("@backupPath", completePath);
paramters[i] = new SqlParameter("@rc", SqlDbType.Int);
paramters[i].Direction = ParameterDirection.InputOutput;
foreach (SqlParameter param in paramters)
cmd.Parameters.Add(param);
cmd.ExecuteNonQuery();
...
...
Aber es diesen Fehler gibt mir:
Procedure or function 'sp_XNet_Backup' expects parameter '@rc', which was not supplied.
hilft Wenn Sie keinen Wert auf '@ rc' zuweisen, dann verwenden Sie' ParameterDirection.Output' – stuartd
Randbemerkung, sollten Sie Ihre Umbenennung Prozedur und Entfernen des Präfix sp_ (oder noch besser alle Präfixe fallen lassen). Das Präfix sp_ ist von MS reserviert und kann einige Probleme verursachen. http://sqlperformance.com/2012/10/t-sql-queries/sp_prefix –
Ok sieht gut aus :-) – user3518663