Foros del Web » Programación para mayores de 30 ;) » .NET »

Variable Application("ConnSTR") con la cadena de conexion

Estas en el tema de Variable Application("ConnSTR") con la cadena de conexion en el foro de .NET en Foros del Web. Buenas gente, Tengo una duda. Si tengo en el Global.asax, en el evento Application_OnStart esto: Application("strConn") = "PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(".") & "/../db/miBD.mdb" Genero ...
  #1 (permalink)  
Antiguo 21/07/2005, 02:52
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Variable Application("ConnSTR") con la cadena de conexion

Buenas gente,

Tengo una duda. Si tengo en el Global.asax, en el evento Application_OnStart esto:

Application("strConn") = "PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(".") & "/../db/miBD.mdb"

Genero el proyecto y todo va bien. Pasados unos días, me da por acceder a la web y resulta que la variable está devolviendo una ruta incorrecta... como un directorio más arriba.

Entonces mi pregunta es, si utilizo Server.MapPath para construir la ruta... Puede ser que cambie esa ruta, segun desde donde llame a la variable de aplicación? O la ruta se construye a partir de donde está el fichero Global.asax, independientemente de donde esté ubicada la página que llama a la variable de aplicación..

Espero haberme explicado. Cualquier idea para solucionar esto será bien recibida.

Muchas gracias.
__________________
..:: moNTeZIon ::..
  #2 (permalink)  
Antiguo 21/07/2005, 16:16
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Hola moNTeZIon , para empezar te recomiendo que las cosas que son parametrizables no las pongas en hardcode(código en duro), para esos casos lo puedes colocar en tu web.config..y despues recoger el Key en tu método...

Algo así:

web.config
Cita:
...
<appSettings>
<add key="connectionString" value="PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source=rutaCompleta/db/miBD.mdb" />
</appSettings>
Y lo mandas a llamar:

Cita:
Application("strConn") System.Configuration.ConfigurationSettings.AppSett ings("connectionString")
Aunque no le vería sentido guardar en una variable de aplicación la cadena de conexion.. si de todas formas en cualquier parte de tu proyecto puedes accesar con System.Configuration.ConfigurationSettings.AppSett ings y la tienes en el web.config.

Es una idea.. espero que te sirva de algo..
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 22/07/2005, 01:37
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Si, RootK, sin duda el Web.config es la mejor opción. Esto era por el simple hecho de poder mover todo el contenido de la web a cualqier otro servidor sin tener que cambiar ni eso (la ruta de la conexion), aunque pa las veces que se mueve, creo que voy a pasar de rayarme con el tema y lo meteré en el Web.config como dices.

También creo que poniendo una ruta completa en la variable de aplicación no me daría estos problemas tampoco. Ya que el fallo parece estar en lo que devuelve el Server.MapPath, pero claro, para hacer eso paso de usar una variable de aplicación teniendo el web.config

En fin. gracias y un saludo!
__________________
..:: moNTeZIon ::..
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 20:19.