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

Cadena Conexion en archivo externo

Estas en el tema de Cadena Conexion en archivo externo en el foro de .NET en Foros del Web. Hola; A ver si alguien me puede contestar. Tengo una aplicación con VB.NET que se conecta a una base de datos. Me gustaria tener la ...
  #1 (permalink)  
Antiguo 30/06/2005, 02:16
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 21 años, 1 mes
Puntos: 2
Pregunta Cadena Conexion en archivo externo

Hola;
A ver si alguien me puede contestar.
Tengo una aplicación con VB.NET que se conecta a una base de datos.
Me gustaria tener la cadena de conexion a la base de datos en un archivo externo independiente del código de la aplicación, de tal forma que cuando ejecute la aplicación obtenga la cadena de ese archivo.
Habia pensado leer de un XML, ¿Que metodo utilizais para hacer esto?

Un saludo
__________________
¿Por qué Uri Geller doblaba cucharas?
  #2 (permalink)  
Antiguo 30/06/2005, 02:56
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Bueno, para esto lo normal es utilizar un fichero INI, aunque puedes hacerlo con el tipo de fichero que quieras.
__________________
..:: moNTeZIon ::..
  #3 (permalink)  
Antiguo 30/06/2005, 02:58
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Tengo una clase ya hecha, que me sirve para leer y escribir en ficheros ini, ahora no recuerdo de donde la saqué. Si te interesa te la mando.
__________________
..:: moNTeZIon ::..
  #4 (permalink)  
Antiguo 30/06/2005, 03:45
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 21 años, 1 mes
Puntos: 2
Al final lo he resuelto utilizando un archivo de configuración para la Aplicación de nombre App.config y usando la clase AppSettingsReader.
Dejo aqui el App.config y el metodo para conectarme a base de datos.
Hola moNTeZIon, buscando tb encontre una clase para leer INIs, si que seria otra posibilidad, aunque me ha parecido mas cómodo esta forma.

Código:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <!--   User application and configured property settings go here.-->
    <!--   Example: <add key="settingName" value="settingValue"/> -->
    <add key="strConexion" value="Data Source=basedatos;Initial Catalog=Docs;User ID=sa;Password=pwd;"/>
  </appSettings>
</configuration>
Código:
Dim strConn As String
Dim configurationAppSettings As System.Configuration.AppSettingsReader

configurationAppSettings = New System.Configuration.AppSettingsReader
strConn = CStr(configurationAppSettings.GetValue("strConexion", GetType(String)))

Try
    ConexionDB = New SqlClient.SqlConnection(strConn)
    ConexionDB.Open()
Catch e As Exception
    MessageBox.Show("Error:" & vbCrLf & e.Message)
    Exit Sub
End Try
Gracias
__________________
¿Por qué Uri Geller doblaba cucharas?
  #5 (permalink)  
Antiguo 30/06/2005, 03:58
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Eso no es Web.config ?
No estabas en aplicaciones Windows Forms?

O es que existe un equivalente al Web.config para WindowsForms... Y no me he enterado...
__________________
..:: moNTeZIon ::..
  #6 (permalink)  
Antiguo 30/06/2005, 04:04
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Asi es moNTeZIon, existe, y se llama app.conf, y la manera de usarla es tremendamente similar al web.config
  #7 (permalink)  
Antiguo 30/06/2005, 04:06
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 21 años, 1 mes
Puntos: 2
Exacto, estoy en aplicaciones Windows Forms y al parecer existe un equivalente. Puedes agregar a tu proyecto un archivo de configuración de nombre App.config que tiene formato XML y utilizar la clase AppSettingsReader para leer de el.
En general se puede utilizar para definir las propiedades de tus controles pero tambien para poner tus propias etiquetas.
__________________
¿Por qué Uri Geller doblaba cucharas?
  #8 (permalink)  
Antiguo 30/06/2005, 04:11
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
OK. Pues ya lo se
Gracias a los dos por la aclaración.
Saludos.
__________________
..:: moNTeZIon ::..
  #9 (permalink)  
Antiguo 15/03/2010, 04:26
 
Fecha de Ingreso: agosto-2007
Mensajes: 14
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Cadena Conexion en archivo externo

Yo tengo una duda, se puede especificar en el app.config en la seccion "appSettings" para que coja la configuracion desde un fichero externo a la aplicacion? y cuando digo externo a la aplicación digo que le esté fuera de la ruta del proyecto, por ejemplo en "c:"

Otra cosa para especificar settings de usuario, hay algo parecido a appSettings?
  #10 (permalink)  
Antiguo 15/03/2010, 05:45
 
Fecha de Ingreso: febrero-2008
Mensajes: 69
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Cadena Conexion en archivo externo

Hay un fichero Settings.settings en el que puedes guardar los datos de usuario
__________________
Aprendiendo a programar

Agradezco comentarios ;)
  #11 (permalink)  
Antiguo 15/03/2010, 06:00
 
Fecha de Ingreso: agosto-2007
Mensajes: 14
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Cadena Conexion en archivo externo

Supongo que ese fichero soluciona el tema de la configuracion del usuario en concreto pero he leido sobre el tema de especificar un fichero externo al proyecto y la respuesta es negativa, El fichero externo puedes ponerlo en la raiz del proyecto o en alguna subcarpeta, pero siempre partiendo de la ruta del proyecto.

Ahora mismo estaba viendo el Configuration Application Block para ver si puedo hacer algo con eso.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:54.