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

No me va la conexión a la Base de Datos si la incluyo en el Include

Estas en el tema de No me va la conexión a la Base de Datos si la incluyo en el Include en el foro de ASP Clásico en Foros del Web. La conexión a la base de datos (Set oConn=...), si la pongo dentro de la página ASP, no tengo ningún problema. Ahora bien, poniéndola dentro ...
  #1 (permalink)  
Antiguo 25/07/2005, 19:04
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 20 años, 3 meses
Puntos: 6
No me va la conexión a la Base de Datos si la incluyo en el Include

La conexión a la base de datos (Set oConn=...), si la pongo dentro de la página ASP, no tengo ningún problema. Ahora bien, poniéndola dentro de una función, dentro del include, si la llamo después desde la página (call conectar_a_base_de_datos) no me funciona; no me da error dicha función en sí, sino que parece que no haga nada, porque después al intentar ejecutar una sentencia SQL mediante el método:

Set oRS=oConn.Execute(SQL)

me dice que "se requiere un objeto" (es decir, le falta el objeto oConn). ¿Alguien sabe por qué?
  #2 (permalink)  
Antiguo 25/07/2005, 19:12
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 6 meses
Puntos: 16
es problema de la fucion porque la coneccion aunque este en un include funciona igual... revisa bnien tu funcion... saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #3 (permalink)  
Antiguo 25/07/2005, 19:32
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 20 años, 3 meses
Puntos: 6
Si he probado hasta a ponerla en el include pero sin estar dentro de una función, y tampoco ha funcionado.

No sé qué será... pero sé que pongo las mismas líneas de código (Set oConn=...) a un lado y al otro, y no me va (me dice eso de que falta objeto).

No sé si será que no he montado bien el archivo include... (me funcionó con otras funciones que hice, así que no creo): he puesto directamente los delimitadores de código ASP (<% y %>), supongo que estará bien y que no haría falta poner las etiquetas <html>, <body>...
  #4 (permalink)  
Antiguo 25/07/2005, 20:21
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 6 meses
Puntos: 16
pue es raro deves tener algun error tu porque por ejemplo los foros webwiz usan su coneccion a la base de datos en un include... saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #5 (permalink)  
Antiguo 25/07/2005, 20:40
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 20 años, 3 meses
Puntos: 6
Pues no lo encuentro. Mira lo que acabo de hacer: a la función guardada en el módulo del include, le he quitado la parte de conectarse y le he puesto que muestre un mensaje por pantalla... ¡y esto sí ha funcionado! Parece que el problema está sólo en la parte de la conexión...
  #6 (permalink)  
Antiguo 25/07/2005, 20:45
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 6 meses
Puntos: 16
entonces estas haciendo mal la coneccion pues es algo bastante lógico y se descartan las demas posibilidades.. saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #7 (permalink)  
Antiguo 25/07/2005, 21:11
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 8 meses
Puntos: 18
amos a ver...
si en el include tienes esto
Código:
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=SQLOLEDB;Description=BASE;SERVER=servidor; UID=user;PWD=pass;DATABASE=basededatps" %>
después tienes que poder hacer un
rs.open sql,conn,0,1
  #8 (permalink)  
Antiguo 26/07/2005, 00:13
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 4 meses
Puntos: 3
y estás diciendo que en la misma página donde está la función, cuando la llamar tp te puedes conectar.. si no has probado eso entonces prueba.. si en esa misma página donde está la función no conecta.. entonces está haciendo mal la función.. revisa lo que te puso trasgukabi
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #9 (permalink)  
Antiguo 26/07/2005, 07:38
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 20 años, 3 meses
Puntos: 6
A ver... la función de conexión SÍ me funciona si no la pongo en el include sino en la propia página.

Y trasgukabi, no puedo hacer ni la sentencia que has dicho tú ahora ni la que dije yo de Set oRS=oConn.Execute(SQL).
  #10 (permalink)  
Antiguo 26/07/2005, 07:39
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
no creo que sea ésto, pero por las dudas en el archivo donde está la función, colocá "DIM Conn" (sin las comillas y 'Conn', pues como se llame tu conexión) a ver que pasa.
__________________
...___...
  #11 (permalink)  
Antiguo 26/07/2005, 07:41
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 20 años, 3 meses
Puntos: 6
Curioso, poniendo la conexión en mi página (olvidémonos por un momento del include), no me falla si pongo lo que ponía de Set oRS pero en cambio sí me dice que falta objeto si pongo lo que ha dicho tras de rs.Open (poniendo los nombres de conexión bien y todo). ¿Os da alguna pista esto?
  #12 (permalink)  
Antiguo 26/07/2005, 07:44
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 20 años, 3 meses
Puntos: 6
Cita:
Iniciado por Al Zuwaga
no creo que sea ésto, pero por las dudas en el archivo donde está la función, colocá "DIM Conn" (sin las comillas y 'Conn', pues como se llame tu conexión) a ver que pasa.
¡Qué fuerte! ¡Pues con eso se ha solucionado! Poniéndola como variable global en el archivo en el que está la función (el del include). Y ahora ya va. ¿Y esto no es obligatorio en general, ya que por lo visto sólo me ha pasado a mí?
  #13 (permalink)  
Antiguo 26/07/2005, 07:59
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Pues no te ha pasado solamente a vos, por lo menos a mi también me ha pasado. Por eso te lo sugerí, pero no estaba del todo seguro que haya sido ese caso exactamente (que la conexión dentro de la función "funcione" perfectamente si está colocada en el mismo archivo ASP que la invoca o en un include)

Y no me reguntes el por qué del asunto :D
__________________
...___...
  #14 (permalink)  
Antiguo 26/07/2005, 15:46
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 6 meses
Puntos: 16
osea solo habia que declarar la variable a la que le asigno el objeto connection??????? saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #15 (permalink)  
Antiguo 26/07/2005, 17:25
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
yeah!

salú
__________________
...___...
  #16 (permalink)  
Antiguo 26/07/2005, 19:06
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 6 meses
Puntos: 16
interesante gracias Al.... hay que tenerlo en mente para futuros proyectos :P saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
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 11:11.