Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   Cadena Conexion en archivo externo (http://www.forosdelweb.com/f29/cadena-conexion-archivo-externo-312382/)

txarly 30/06/2005 02:16

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 :adios:

moNTeZIon 30/06/2005 02:56

Bueno, para esto lo normal es utilizar un fichero INI, aunque puedes hacerlo con el tipo de fichero que quieras.

moNTeZIon 30/06/2005 02:58

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.

txarly 30/06/2005 03:45

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

moNTeZIon 30/06/2005 03:58

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...

Jose_minglein2 30/06/2005 04:04

Asi es moNTeZIon, existe, y se llama app.conf, y la manera de usarla es tremendamente similar al web.config

txarly 30/06/2005 04:06

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.

moNTeZIon 30/06/2005 04:11

OK. Pues ya lo se :-)
Gracias a los dos por la aclaración.
Saludos.

cibermon 15/03/2010 04:26

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?

Altear 15/03/2010 05:45

Respuesta: Cadena Conexion en archivo externo
 
Hay un fichero Settings.settings en el que puedes guardar los datos de usuario

cibermon 15/03/2010 06:00

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.


La zona horaria es GMT -6. Ahora son las 10:33.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.