Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: seth444 en 23 de Abril de 2008, 05:39:14 PM

Título: problemas con T-SQL en SQL server 2005
Publicado por: seth444 en 23 de Abril de 2008, 05:39:14 PM
Hola a tod@s, quería preguntaros una duda que me ha salido en el trabajo.

Tengo un Assembly al cual tengo que llamarlo desde una función. Mi jefe me ha dicho que esa función tiene que permitir parametros opcionales. Mi problema es este:

[funcion]

CREATE FUNCTION [Jitmv].[GetAutomaticText](@strXml [nvarchar](max), @nType [smallint]=0, @nGroup [smallint]=-1, @nSubModelNumber [smallint]=0, @nLanguaje [smallint]=0)
RETURNS [nvarchar](max) WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [Preference.Jitmv].[Preference.Jitmv.SqlServer.Processor].[Process]


[ejecución de la función]

select Jitmv.GetAutomaticText (N'<Model> lo k sea </Model>',0,-1,0,0)


Como os decía, mi función debe permitir ser llamada con 1 o con 5 parametros, es decir, la puedo llamar de estas dos formas:
*)select Jitmv.GetAutomaticText (N'<Model> lo k sea </Model>',0,-1,0,0)
**)select Jitmv.GetAutomaticText (N'<Model> lo k sea </Model>')

Y mi problema es que cuando ejecuto (**) desde el SQL server, me dice:
" An insufficient number of arguments were supplied for the procedure or function Jitmv.GetAutomaticText. "

Pienso que debe ser problema de mi código en C#, pero no se como hacer que esos parametros los tome como opcionales en C#.
Si se os ocurre algo, que no sea sobrecargar la función a la que llamo o utilizar "params", por favor, avisadme. Lo digo porque ya he probado esas dos opciones y no me han funcionado.