Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   SQL Server (http://www.forosdelweb.com/f87/)
-   -   ME dice que no encuentra el proc almacenado (http://www.forosdelweb.com/f87/dice-que-no-encuentra-proc-almacenado-582940/)

Dani10 05/05/2008 04:10

ME dice que no encuentra el proc almacenado
 
ME DICE QUE NO ENCUENTRA EL PROCEDIMIENTO PERO SI LO EJECUTO DESDE FUERA SI FUNCIONA.

este es mi código:

SET @Orden = 'sp_AgregarDonacionDet ' +
@ClaveDonacion + ' , ' + convert(varchar, @Contador) +
', ''C'' , ' + '''' + @Caract1 + ''''
PRINT @Orden
EXEC @Orden

y esta es la cadena generada, parece que todo ok.
sp_AgregarDonacionDet 9187944 , 1, 'C' , 'Peso (gr)'

Y ESTE ES EL ERROR.
No se encontró el procedimiento almacenado 'sp_AgregarDonacionDet 9187944 ,
1, 'C' , 'Peso (gr)''.

Si lo ejecuto desde la consola funciona bién.

¿Alguna idea?

Muchas gracias
:-)

PosProdukcion 05/05/2008 05:13

Re: ME dice que no encuentra el proc almacenado
 
Comprueba quien es el propietario del procedimiento almacenado y qué usuario está intentando la ejecución desde tu programa, si por ejemplo el procedimiento es de dbo, y la llamada la hace un usuario distinto a dbo debería ser así:

Código:

dbo.sp_AgregarDonacionDet 9187944 , 1, 'C' , 'Peso (gr)'

Dani10 05/05/2008 08:01

Re: ME dice que no encuentra el proc almacenado
 
poniendo dbo. antes del nombre del procedimiento tampoco me funciona,

¿Puede ser problemas de permisos?¿Debo dar permisos para ejecutar este procedimiento ?

Gracais

Dani

Andres95 05/05/2008 08:12

Re: ME dice que no encuentra el proc almacenado
 
Seria bueno verificar con que usuario te conectas desde la consola y con cual otro desde la aplicacion si son diferentes intenta user el mismo en la consola para descartar la posibilidad de permisos.

Tambien verifica que la cadena de conexion de la aplicacion apunte correctamente a la base de datos donde esta el sp...

:arriba: Saludos

Dani10 05/05/2008 09:55

Re: ME dice que no encuentra el proc almacenado
 
lo pruebo desde la consola y uso el mismo usuario administrador para crear los procedimientos y probarlos, no utilizo cadeca de conexión ya que uso la consola del management studio y no trabajo solbre la misma máquina que es servidor.

gracias.

Dani

Andres95 05/05/2008 10:10

Re: ME dice que no encuentra el proc almacenado
 
y en donde no funciona?

que usuario utilizas ahi?

Thumper 05/05/2008 13:42

Re: ME dice que no encuentra el proc almacenado
 
Hola q tal en vez de:

Cita:

EXEC @Orden
Coloca

Cita:

EXEC(@Orden)
Saludos

Dani10 05/05/2008 14:22

a nadie le ha pasado lo mismo?
 
Hoal Andres95 y Thumper.

Gracias por responder, en mi anterior mensaje creo que no me expresé correctamente.

En la misma maquina que tengo SQL server 2005 tengo al consola del management studio y hago todo como administrador de Windows y de SQL, uso validacion integrada.

Respecto a los parentesis y a he probado a ponerlos pero lo voy a probar de nuevo.

Os digo el resultado.

Muchas gracias.

Andres95 05/05/2008 14:40

Re: ME dice que no encuentra el proc almacenado
 
ok, me confundi con la frase, "al ejecutarlo desde fuera".

Tengo la duda de porque utilizas sql dinamico para manipular los parametros de la llamada a un sp, si se puede hacer directamente.

Código:

Execute sp_AgregarDonacionDet @ClaveDonacion , @Contador, 'C' , @Caract1

Por otro lado, si es la version 2005 puede pertenecer a un esquema diferente al dbo, verifica a que esquema pertenece el sp.

Dani10 05/05/2008 15:27

Muchas gracias, ya fucniona
 
Hola Andres y Thumper, y el resto.

ya está arreglado se ha resuelto poniendo la cadena de llamada entre parentesis.

Te comento Andres porque uso sql dinámico, al primer procedimiento le paso algunos parametros y este procedimiento a su vez graba una serie indeterminada de registros en otra tabla, como no se cuantos registros tengo que hacerlo así si quieres te mando los dos procediminetos cuando los tenga comentados y pulidos con control de errores etc...

Os agradezco mucho vuestra ayuda, cuando se está solo y atascado se agradecen los puntos de vista del resto y como no, la experiencia del resto.

saludos a todos.


La zona horaria es GMT -6. Ahora son las 08:21.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.