Foros del Web » Programando para Internet » ASP Clásico »

Usar Strore Procedures de SQL en ASP

Estas en el tema de Usar Strore Procedures de SQL en ASP en el foro de ASP Clásico en Foros del Web. Quisiera saber como llamar a un Store Procedure de una Base de Datos SQL desde una página ASP. La poca información que leí no me ...
  #1 (permalink)  
Antiguo 30/01/2002, 18:25
 
Fecha de Ingreso: enero-2002
Ubicación: Yerba Buena - Tucumán
Mensajes: 259
Antigüedad: 22 años, 5 meses
Puntos: 0
Usar Strore Procedures de SQL en ASP

Quisiera saber como llamar a un Store Procedure de una Base de Datos SQL desde una página ASP. La poca información que leí no me es suficiente y si me pueden ayudar se los agradecería.

Saludos ;)

CABEZOTA
  #2 (permalink)  
Antiguo 30/01/2002, 18:30
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 5 meses
Puntos: 1
Re: Usar Strore Procedures de SQL en ASP

hola,

no se mucho de eso pero desde hace tiempo tengo este link, espero que te sea de ayuda

<a href='ir.asp?http://www.4guysfromrolla.com/webtech/111798-1.shtml' target='_blank'>http://www.4guysfromrolla.com/webtech/11...</a>

salu2 ;) :)

<embed src="http://www.autocar.com.mx/images/logo.swf" type="application/x-shockwave-flash" width="468" height="60" play="true" wmode="transparent" menu="false" loop="true">
  #3 (permalink)  
Antiguo 31/01/2002, 07:49
Avatar de davidvamo  
Fecha de Ingreso: diciembre-2001
Ubicación: Barcelona '92
Mensajes: 106
Antigüedad: 22 años, 6 meses
Puntos: 0
Re: Usar Strore Procedures de SQL en ASP

Muy buenas compañero, aquí aprenderás a usar los SP (Stored Procedures) de SQL, pues me rompí la cabeza con manuales y foros.

1.- MUY IMPORTANTE AGREGAR EL SIGUIENTE ARCHIVO AL PRINCIPIO DE LA PÁGINA ASP: &lt;!-- #include FILE=&quot;/RUTA/adovbs.inc&quot; --&gt;, búscalo por tu unidad C: y lo copias en la raiz de tu portal, por ejemplo.

2.- Tienes que crear un objeto comando:

Set ObjComando = Server.CreateObject(&quot;ADODB.Command&quot;)
que su función es básicamente pasa usar los SP

3.- Abres la conexion con la Base Datos (BD)
ObjConexion.Open &quot;------&quot;
4.- Copiate esto en tu pagina ASP
'esta linia te hace una conexion entre el objecto comando y BD
ObjComando.ActiveConnection=ObjConexion
' que tipo de comando usas, en nuestro caso un SP
ObjComando.CommandType=adCmdStoredProc
' nombre del SP
ObjComando.CommandText=&quot;NOMBRE_SP&quot;
'refrescas los parámetros
ObjComando.Parameters.Refresh

' escribes los campos de los parámetros, ATENCION: empieza por 1 y no por 0
ObjComando(1) = Ucase(Request.Form(&quot;nombre_cliente&quot;))
ObjComando(2) = Ucase(Request.Form(&quot;apellido1&quot;))
...

5.- Lo ejecutas
ObjComando.Execute

IMPORTANTE !!!!
Para hacer inserts es obligatorio que escribas Set RS = ObjComando.Execute
en vez de ObjComando.Execute

Al menos yo tengo que hacer.

6.- Cierras y borras de la memoria los objectos

Set RS = Nothing ' si lo has usado
Set ObjComando = Nothing
ObjConexion.Close
Set ObjConexion = Nothing


Espero haberte sido de ayuda compañero. ;)
  #4 (permalink)  
Antiguo 31/01/2002, 07:58
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: Usar Strore Procedures de SQL en ASP

aki hay otro ejemplito...ingresa parametros de entrada y te arroja un parametro de salida.

<pre>
Status=&quot;001&quot;
Idtrx=&quot;105&quot;
strConnectionString =&quot;TU_DSN&quot;
Set cn = server.createobject(&quot;ADODB.Connection&quot;)
Set cmd = server.createobject(&quot;ADODB.Command&quot;)

cn.ConnectionString = strConnectionString
cn.Open

With cmd
Set .ActiveConnection = cn
.CommandText = &quot;Nombre_sp&quot;
.CommandType = 4
Set params = .Parameters
End With

params.Append cmd.CreateParameter(&quot;@strStatus&quot;, adVarChar, adParamInput, 3)
params.Append cmd.CreateParameter(&quot;@Idtrx&quot;, adVarChar, adParamInput, 4)
params.Append cmd.CreateParameter(&quot;@strMsgUser&quot;, adVarChar, adParamOutput, 255)

params(&quot;@strStatus&quot;) = Status
params(&quot;@Idtrx&quot;) = Idtrx
cmd.Execute , , adExecuteNoRecords

StrRespuesta = params(&quot;@strMsgUser&quot;)


set cn= nothing
set cmd= nothing

</pre>

Espero te ayude :P
  #5 (permalink)  
Antiguo 31/01/2002, 16:02
 
Fecha de Ingreso: enero-2002
Ubicación: Yerba Buena - Tucumán
Mensajes: 259
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: Usar Strore Procedures de SQL en ASP

Muchas gracias a todos por su ayuda sobre el tema.
Si pueden ayudarme nuevamente, querría saber como debo pasar un parametro a un SP si quiero utilizarlo a este como el nombre de una tabla.
EJ:
CREATE PROCEDURE nombre_SP @parametro_nombre_tabla varchar(30)
AS
SELECT * FROM [@parametro_nombre_tabla]

El problema con lo que yo hago es que no esta tomando el valor del parametro. Si saben como debería hacerlo para que funcione agradecería que me contesten.
Desde ya muchas gracias. :(

  #6 (permalink)  
Antiguo 31/01/2002, 16:19
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: Usar Strore Procedures de SQL en ASP

uuuuuuumm....sabes que nunca he ocupado una variable para preguntar por la tabla..siempre las variables ke utilizo pregunto por el dat que hay en el campo x...
algo asi:

<pre>
CREATE PROCEDURE sp_Consultar
@strStatus varchar(3),
@IdTrx varchar(4),
@strMsgUser varchar(255) OUTPUT
as
select @strMsgUser = strMsgUser from tbl_error
where strIdTrx=@IdTrx and strCodigo = @strStatus

GO
</pre>
como te daras cuenta aki hay 2 variables de entrada y una de salida pero todas estan referenciadas a campos de la tabla y no a la tabla misma..
no se si funcionara esto con tablas.

  #7 (permalink)  
Antiguo 31/01/2002, 16:28
 
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 50
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: Usar Strore Procedures de SQL en ASP

y como se llaman los stores procedures de asp a Oracle???
  #8 (permalink)  
Antiguo 31/01/2002, 16:30
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: Usar Strore Procedures de SQL en ASP

jaaaaa...pero amigo victor...por ke no lo dijiste antes...el ejemplo ek te mande funciona para sql server y el sp esta hecho en sql server.
la definicion en oracle es diferente y ni idea como se hara...
sorry
  #9 (permalink)  
Antiguo 31/01/2002, 16:37
 
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 50
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: Usar Strore Procedures de SQL en ASP

pero supongo que se podra hacer no crees??
  #10 (permalink)  
Antiguo 31/01/2002, 16:41
 
Fecha de Ingreso: agosto-2001
Mensajes: 399
Antigüedad: 22 años, 10 meses
Puntos: 0
Re: Usar Strore Procedures de SQL en ASP

Si, asp puede acceder procedimientos de Oracle, pero no tengo idea como se hace :P
  #11 (permalink)  
Antiguo 31/01/2002, 16:42
 
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 50
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: Usar Strore Procedures de SQL en ASP

espero que alguien me pueda ayudar
Gracias ;)
  #12 (permalink)  
Antiguo 01/02/2002, 08:36
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: Usar Strore Procedures de SQL en ASP

se puede...yo lo unico ke he visto es que el codigo de los sp son diferentes a los de sqlserver... la definicion de parametros de entrada y salida no se declaran de la misma forma pero como los llamara de la pagina...
es algo ke nunca he visto...pero de ke se puee...se puee :P
  #13 (permalink)  
Antiguo 01/02/2002, 10:00
 
Fecha de Ingreso: enero-2002
Ubicación: Yerba Buena - Tucumán
Mensajes: 259
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: Usar Strore Procedures de SQL en ASP

Bakanzipp:

Justamente eso es lo que yo quiero intentar. El usar un parametro de entrada con que yo pueda hacer referencia a la tabla que pase como parámetro. Eso lo quiero hacer para no repetir distintos SP que hagan practicamente lo mismo, reusando asi el código.
Ademas tengo el problema de que necesito utilizar el comando DROP TABLE dentro de un SP y en donde si o si el nombre de la tabla que se borra tengo que pasarla como parámetro al SP.
Si alguien sabe como es que se hace esto se lo agradecería porque como yo intento hacerlo me da error. :(
  #14 (permalink)  
Antiguo 01/02/2002, 14:02
 
Fecha de Ingreso: enero-2002
Ubicación: Yerba Buena - Tucumán
Mensajes: 259
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: Usar Strore Procedures de SQL en ASP

YA TENGO LA SOLUCIÓN AL FIN !!!

Como siempre pasa era un tontería el problema.
Lo que se debe hacer para utilizar un parametro para hacer referencia a una tabla dentro de un Stored Procedure de SQL es utilizar el comando EXEC y concatenar la sentencia SQL que se desee utilizar con el parametro que contiene el nombre de la tabla.

Les paso un ejemplo:

CREATE PROCEDURE SP_consultar_tabla
(@nombre_tabla varchar(30))
AS
EXEC('SELECT * FROM [' + @nombre_tabla + '])

Espero que les sirva de algo !

Saludos.

CABEZOTA ;)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:52.