Declarar variable global en un global.asa

23/08/2006 - 11:04 por Carlos Marco | Informe spam
Buenas a todos, ¿como puedo declarar un objeto ADODB.Connection en un
global.asa para que puedan acceder a esa conexión cualquier página. Y si no
se puede, ¿como lo puedo hacer en un archivo? Gracias.

Preguntas similare

Leer las respuestas

#1 Manuel Vera
23/08/2006 - 15:18 | Informe spam
Hola

DE PLANO:
¿como puedo declarar un objeto ADODB.Connection en un
global.asa para que puedan acceder a esa conexión cualquier página.

R: olvidate de eso. esa practica esta totalmente rechazada por las tecnicas
de buena programacion en el web usando ASP y ADODB.

SOLUCION:
En el global.asa crea una variable Application con la CADENA o STRING de
conexion. P.e.:
Application("MISDATOS") = "Provider=sqloledb;" & _
"Data Source=tuservidor;" & _
"Initial Catalog=tubasedatos;" & _
"User Id=tuusuario;" & _
"Password=tuclave"

Adicionalmente, crea un archivo include, p.e.:
conexion.inc o
conexion.asa (personalmente prefiero este)
y alli escribes tu rutina de apertura y cierre de tu objeto Connection.
P.e.
dim miDB
sub AbrirBD()
miDB.Open Application("bla")
end sub

Finalmente, incluyes ese INCLUDE en todas tus ASP e invocas la rutina
AbrirDB

Salu2
MV



"Carlos Marco" escribió en el mensaje
news:
Buenas a todos, ¿como puedo declarar un objeto ADODB.Connection en un
global.asa para que puedan acceder a esa conexión cualquier página. Y si
no se puede, ¿como lo puedo hacer en un archivo? Gracias.

Respuesta Responder a este mensaje
#2 Carlos Marco
23/08/2006 - 22:18 | Informe spam
Vale, muchas gracias Manuel, así lo he realizado.






"Manuel Vera" escribió en el mensaje
news:
Hola

DE PLANO:
¿como puedo declarar un objeto ADODB.Connection en un
global.asa para que puedan acceder a esa conexión cualquier página.

R: olvidate de eso. esa practica esta totalmente rechazada por las
tecnicas de buena programacion en el web usando ASP y ADODB.

SOLUCION:
En el global.asa crea una variable Application con la CADENA o STRING de
conexion. P.e.:
Application("MISDATOS") = "Provider=sqloledb;" & _
"Data Source=tuservidor;" & _
"Initial Catalog=tubasedatos;" & _
"User Id=tuusuario;" & _
"Password=tuclave"

Adicionalmente, crea un archivo include, p.e.:
conexion.inc o
conexion.asa (personalmente prefiero este)
y alli escribes tu rutina de apertura y cierre de tu objeto Connection.
P.e.
dim miDB
sub AbrirBD()
miDB.Open Application("bla")
end sub

Finalmente, incluyes ese INCLUDE en todas tus ASP e invocas la rutina
AbrirDB

Salu2
MV



"Carlos Marco" escribió en el mensaje
news:
Buenas a todos, ¿como puedo declarar un objeto ADODB.Connection en un
global.asa para que puedan acceder a esa conexión cualquier página. Y si
no se puede, ¿como lo puedo hacer en un archivo? Gracias.





Respuesta Responder a este mensaje
#3 Aura
24/08/2006 - 12:11 | Informe spam
Hola,

He provado lo que dijiste a carlos poniendo connexion.asa y global.asa.
Mi connexión es con DSN a Access

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Administrador de controladores ODBC] No se encuentra el nombre
del origen de datos y no se especificó ningún controlador predeterminado
en connexion.asa(miconn.Open Application("ConnString"))

Que hago mal ?
Te muestro el codigo:

en CONNEXION.asa-
Dim miconn
sub Obrir_BD()
miconn.Open Application("ConnString")
end sub

sub Tancar_bd()
miconn.Close
end sub

en Global.asa --
sub application_onStart()
'sentencias que se ejecutan al entrar el usuario
Application("ConnString")= "Provider=Microsoft OLE DB Provider for ODBC
Drivers;"DSN=Obresp;UID=;Password=;""
end sub

Muchas gracias por adelantado!

"Manuel Vera" wrote:

Hola

DE PLANO:
¿como puedo declarar un objeto ADODB.Connection en un
global.asa para que puedan acceder a esa conexión cualquier página.

R: olvidate de eso. esa practica esta totalmente rechazada por las tecnicas
de buena programacion en el web usando ASP y ADODB.

SOLUCION:
En el global.asa crea una variable Application con la CADENA o STRING de
conexion. P.e.:
Application("MISDATOS") = "Provider=sqloledb;" & _
"Data Source=tuservidor;" & _
"Initial Catalog=tubasedatos;" & _
"User Id=tuusuario;" & _
"Password=tuclave"

Adicionalmente, crea un archivo include, p.e.:
conexion.inc o
conexion.asa (personalmente prefiero este)
y alli escribes tu rutina de apertura y cierre de tu objeto Connection.
P.e.
dim miDB
sub AbrirBD()
miDB.Open Application("bla")
end sub

Finalmente, incluyes ese INCLUDE en todas tus ASP e invocas la rutina
AbrirDB

Salu2
MV



"Carlos Marco" escribió en el mensaje
news:
> Buenas a todos, ¿como puedo declarar un objeto ADODB.Connection en un
> global.asa para que puedan acceder a esa conexión cualquier página. Y si
> no se puede, ¿como lo puedo hacer en un archivo? Gracias.
>



Respuesta Responder a este mensaje
#4 Manuel Vera
24/08/2006 - 14:21 | Informe spam
Hola

Me parece que la cadena de conexion que estas usando requiere que crees en
tu servidor web un controlador de ODBC llamado "Obresp" que apunte a tu
archivo MDB. Deberás crearlo y luego probar tu codigo con esa cadena de
conexion.

Sin embargo, yo te recomendaria que usaras esta otra cadena la cual omite el
uso del ODBC. Esto es mas directo y en teoria mas eficiente:
' por ejemplo:
' ruta_y_archivo_mdb = "c:\carpeta1\misdatos.mdb" , o
' ruta_y_archivo_mdb = "/data/misdatos.mdb"
' donde "data" es un subdir dentro de tu web root.
DBRuta = server.MapPath(ruta_y_archivo_mdb)
set DB = server.CreateObject("ADODB.Connection")
sConex "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & DBRuta
' si tu MDB esta protegida por user/pass deberas agregar:
'sConex = sConex & ";User Id=tuusuario;" & _
' "Password=tuclave"
DB.Open sConex

Salu2
MV

"Aura" escribió en el mensaje
news:
Hola,

He provado lo que dijiste a carlos poniendo connexion.asa y global.asa.
Mi connexión es con DSN a Access

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Administrador de controladores ODBC] No se encuentra el nombre
del origen de datos y no se especificó ningún controlador predeterminado
en connexion.asa(miconn.Open Application("ConnString"))

Que hago mal ?
Te muestro el codigo:

en CONNEXION.asa-
Dim miconn
sub Obrir_BD()
miconn.Open Application("ConnString")
end sub

sub Tancar_bd()
miconn.Close
end sub

en Global.asa --
sub application_onStart()
'sentencias que se ejecutan al entrar el usuario
Application("ConnString")= "Provider=Microsoft OLE DB Provider for ODBC
Drivers;"DSN=Obresp;UID=;Password=;""
end sub

Muchas gracias por adelantado!

Respuesta Responder a este mensaje
#5 Aura
25/08/2006 - 12:31 | Informe spam
Hola Manuel !

Lo he provado y no ha funcionado, también he provado de hacerlo de la
siguiente manera y sigue dando el mismo error.

en global.asa--
sub application_onStart()
'sentencias que se ejecutan al entrar el usuario
set DBRuta, ruta_BD
ruta_BD = "/data/nombreBD.mdb"
DBRuta = Server.MapPath(ruta_BD)
Application("strConnex") = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data
Source="&DBRuta

end sub

en pagina asp--
Set miconn = Server.CreateObject("ADODB.Connection")
miconn.open Application("strConnex")

Muchas gracias!
Un saludo


"Manuel Vera" wrote:

Hola

Me parece que la cadena de conexion que estas usando requiere que crees en
tu servidor web un controlador de ODBC llamado "Obresp" que apunte a tu
archivo MDB. Deberás crearlo y luego probar tu codigo con esa cadena de
conexion.

Sin embargo, yo te recomendaria que usaras esta otra cadena la cual omite el
uso del ODBC. Esto es mas directo y en teoria mas eficiente:
' por ejemplo:
' ruta_y_archivo_mdb = "c:\carpeta1\misdatos.mdb" , o
' ruta_y_archivo_mdb = "/data/misdatos.mdb"
' donde "data" es un subdir dentro de tu web root.
DBRuta = server.MapPath(ruta_y_archivo_mdb)
set DB = server.CreateObject("ADODB.Connection")
sConex "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & DBRuta
' si tu MDB esta protegida por user/pass deberas agregar:
'sConex = sConex & ";User Id=tuusuario;" & _
' "Password=tuclave"
DB.Open sConex

Salu2
MV

"Aura" escribió en el mensaje
news:
> Hola,
>
> He provado lo que dijiste a carlos poniendo connexion.asa y global.asa.
> Mi connexión es con DSN a Access
>
> Tipo de error:
> Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
> [Microsoft][Administrador de controladores ODBC] No se encuentra el nombre
> del origen de datos y no se especificó ningún controlador predeterminado
> en connexion.asa(miconn.Open Application("ConnString"))
>
> Que hago mal ?
> Te muestro el codigo:
>
> en CONNEXION.asa-
> Dim miconn
> sub Obrir_BD()
> miconn.Open Application("ConnString")
> end sub
>
> sub Tancar_bd()
> miconn.Close
> end sub
>
> en Global.asa --
> sub application_onStart()
> 'sentencias que se ejecutan al entrar el usuario
> Application("ConnString")= "Provider=Microsoft OLE DB Provider for ODBC
> Drivers;"DSN=Obresp;UID=;Password=;""
> end sub
>
> Muchas gracias por adelantado!
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida