Stored procedure y C# (Error 42883)

From: Ferran <sherkoff(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Stored procedure y C# (Error 42883)
Date: 2009-04-20 10:47:38
Message-ID: 46d80570904200347o2e452055wee2988045bed7c74@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buenos días,

Tengo un problema para lanzar un stored procedure, ubicado en un postgresql
8.3 des de visual studio 2008 y C#. Me da un error 42883 y me dice que no
existe el stored procedure, cuando realmente si que existe.

*El stored es muy sencillo:*

CREATE OR REPLACE PROCEDURE "PRC_INSERTA_PERSONA"(nom bpchar, cognom bpchar,
poblacio bpchar, provincia bpchar, edat integer) AS
BEGIN
INSERT INTO persona values (nom,cognom,poblacio,provincia,edat);
END

GRANT EXECUTE ON PROCEDURE "PRC_INSERTA_PERSONA"(bpchar, bpchar, bpchar,
bpchar, integer) TO user;

*y la llamada des de visual studio 2008 es:*

string sCadConnexio = "Server=192.168.0.58;Port=5444;User
Id=user;Password=pass;Protocol=3;SSL=false;Pooling=true;MinPoolSize=1;MaxPoolSize=20;Encoding=UNICODE;Timeout=15;SslMode=Disable;Database=BBDD";

NpgsqlConnection conn = new NpgsqlConnection(sCadConnexio);
conn.Open();

NpgsqlCommand sentencia = new NpgsqlCommand(
"PRC_INSERTA_PERSONA(:nom,
:cognom, :poblacio, :provincia, :edat)", conn);
sentencia.CommandType = CommandType.StoredProcedure;
sentencia.Parameters.Add(new NpgsqlParameter(":nom",
DbType.String));
sentencia.Parameters.Add(new NpgsqlParameter(":cognom",
DbType.String));
sentencia.Parameters.Add(new NpgsqlParameter(":poblacio",
DbType.String));
sentencia.Parameters.Add(new NpgsqlParameter(":provincia",
DbType.String));
sentencia.Parameters.Add(new NpgsqlParameter(":edat",
DbType.Int32));

sentencia.Parameters[0].Value = tbNom.Text;
sentencia.Parameters[1].Value = tbCognom.Text;
sentencia.Parameters[2].Value = tbPoblacio.Text;
sentencia.Parameters[3].Value = tbProvincia.Text;
sentencia.Parameters[4].Value = tbEdat.Text;

sentencia.ExecuteScalar();

conn.Close();

*El error:* {ERROR: 42883: function prc_inserta_persona(text, text, text,
text, integer) does not exist"} System.Exception {Npgsql.NpgsqlException}

¿ Alguien me puede ayudar a encontrar el problema ?

Muchas gracias a todos por vuestra ayuda

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Sebastián Villalba 2009-04-20 11:12:03 Re: Stored procedure y C# (Error 42883)
Previous Message Guillermo O. Burastero 2009-04-20 03:51:32 Re: traducciones (era Re: Consulta sobre entidades)