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

Variable de conexion: sessión o web.config?

Estas en el tema de Variable de conexion: sessión o web.config? en el foro de .NET en Foros del Web. Hola, Tengo dudas sobre cual es la mejor manera de trabajar con las conexines a la base de datos en .NET. Mi idea es tener ...
  #1 (permalink)  
Antiguo 21/02/2004, 05:50
 
Fecha de Ingreso: febrero-2004
Mensajes: 67
Antigüedad: 20 años, 2 meses
Puntos: 0
Variable de conexion: sessión o web.config?

Hola,

Tengo dudas sobre cual es la mejor manera de trabajar con las conexines a la base de datos en .NET. Mi idea es tener una variable siempre accesible con la que poder hacer el Open() y el Close() cuando lo necesite pero sin tener que declarar en cada codebehind la conexión.

He visto algun tema hecho con el archivo web.config pero cuando lo pongo no me compila el proyecto:

<appSettings>
<add
key="conexionSQL"
value="data source=KEITHER\\VSdotNET;initial catalog=miproyecto;persist security info=False;user id=sa;workstation id=KEITHER;packet size=4096" />
</appSettings>

Declarando esto significa que puedo acceder a conexionSQL desde cualquier pagina de mi proyecto?

Como sabe el proyecto que la key conexionSQL es de tipo sqlConnection? Donde se le dice? Es eso lo que me falta?

Por otra parte no se si hay alguna otra manera de hacer esto con sesiones. Sea como sea me interesa la forma más segura de hacerlo.

Muchas gracias.
  #2 (permalink)  
Antiguo 23/02/2004, 12: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.., de hecho esa es una forma normal y bien estrucuturada manera de guardar la cadena de conexion... ya que si llegas a cambiar el nombre de usuario, bd, etc solo tienes que modificar tu web.config y afectará a todo tu proyecto.

Ahora:

Cita:
pero cuando lo pongo no me compila el proyecto:
Recuerda ponerlo entre:

Cita:
<configuration>
<appSettings >
<add key="ConnectionString " value="data source=KEITHER\\VSdotNET;initial catalog=miproyecto;persist security info=False;user id=sa;workstation id=KEITHER;packet size=4096" />
</appSettings>

<system.web>
...
...
</system.web>

</configuration>
Para mandarlo a llamar en cualquier página que esté dentro de tu proyecto lo haces así:

Dim objConn As New SqlConnection(System.Configuration.ConfigurationSe ttings.AppSettings("ConnectionString "))

Solo recuerda que web.config es un xml case sensitive.

Saludos y suerte
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 24/02/2004, 08:28
 
Fecha de Ingreso: febrero-2004
Mensajes: 67
Antigüedad: 20 años, 2 meses
Puntos: 0
Hola RootK,

He probado de poner esta key en el web.config, con el mismo valor que utilizo en cada página actualmente y que me funciona.
Cuando accedo a la página en cambio me dice que el servidor no existe o acceso denegado. Creo que a lo mejor algun parametro de la cadena de conexión no sea válido para el web.config. Voy a poner la cadena de conexión a ver si le veis alguna cosa extraña.

Aunque todo esto también me provoca dudas. Que es mejor, autenticación SQL o de windows? Teniendo en cuenta que ahora el servidor es el de desarrollo y no el de producción final que sistema me aconsejais?

Gracias.
  #4 (permalink)  
Antiguo 24/02/2004, 10:23
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
Cita:
Que es mejor, autenticación SQL o de windows?
Te podría decir que todo depende... si tu eres el que tiene control del server de produccion y ahí tienes tu BD sql server pues utiliza el método trusted_connection (windows) pero si requieres que ciertas bd tengan restricciones pues lo haces con el uid y el pwd.

Todo depende donde guardes tus proyectos y tus BD, aunque puedes utilizar un usuario para accesar al server de desarrollo y otro a la BD.

Saludos
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 12:52.