connectionStrings de App.config

17/04/2006 - 17:55 por Carlos Albert | Informe spam
Hola gente,

Estoy intentando levantar un connection string que esta guardado sin
encriptar en App.config dentro de una libreria de clases de la siguiente
manera:
<connectionStrings>
<add name="CapaDatos.My.MySettings.MiConeccion" connectionString="Data
Source=MiServer;Initial Catalog=BaseDeDatos;Persist Security Info=True;User
ID=usuario;Password=xxx" providerName="System.Data.SqlClient" />
</connectionStrings>

Quise utilizar
System.Configuration.ConfigurationManager.ConnectionStrings.Item(0).ConnectionString
pero me devuelve esto:
"data source=.\SQLEXPRESS;Integrated
Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User
Instance=true"

¿¿¿???

¿Alguien que me de una mano?

Grax.

Preguntas similare

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
17/04/2006 - 23:43 | Informe spam
Obten la conexion por el nombre y no por el indice, porque no puedes
asegurar de ninguna forma que el indice corresponda con la conexion que
quieres (a menos que cargues todas y des a elegir al usuario o algo
similar). En tu caso esta recibiendo una conexion que esta declarada en
machine.config.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#2 Carlos Albert
18/04/2006 - 17:29 | Informe spam
Ya lo intente por el nombre, pero no encuentra nada...

Es que siempre se esta fijando en machine.config y no ve app.config? Como le
indico que se fije app.config, que es donde tengo los datos?

Slds.

"Eduardo A. Morcillo [MS MVP VB]" <emorcillo .AT. mvps.org> wrote in message
news:%
Obten la conexion por el nombre y no por el indice, porque no puedes
asegurar de ninguna forma que el indice corresponda con la conexion que
quieres (a menos que cargues todas y des a elegir al usuario o algo
similar). En tu caso esta recibiendo una conexion que esta declarada en
machine.config.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C

Respuesta Responder a este mensaje
#3 Eduardo A. Morcillo [MS MVP VB]
18/04/2006 - 19:43 | Informe spam
Ya lo intente por el nombre, pero no encuentra nada...



Eso esta medio raro. ¿Seguro que colocaste correctamente el nombre? Deberias
poner asi:

conn =
ConfigurationManager.ConnectionStrings.Item("CapaDatos.My.MySettings.MiConeccion").ConnectionString

Ahora que veo el nombre de la conexion me parece que esto lo tienes en un
DLL ¿no? Y si es asi, ¿estas usando un app.config en el proyecto de la DLL?
Si la respuesta tambien es si, entonces el problema de que no encuentres la
conexion es que el app.config no va para DLLs. Las DLLs leen la
configuracion del app.config de la aplicacion que las usa. Y dicho sea de
paso, como esta en MySettings puedes obtener la conexion usando
My.Settings.MiConeccion.

Es que siempre se esta fijando en machine.config y no ve app.config?
Como le indico que se fije app.config, que es donde tengo los datos?



La configuracion de la aplicacion es una combinacion de machine.config con
tu app.config.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#4 Carlos Albert
18/04/2006 - 20:32 | Informe spam
Ahora que veo el nombre de la conexion me parece que esto lo tienes en un
DLL ¿no? Y si es asi, ¿estas usando un app.config en el proyecto de la
DLL? Si la respuesta tambien es si, entonces el problema de que no
encuentres la conexion es que el app.config no va para DLLs. Las DLLs leen
la configuracion del app.config de la aplicacion que las usa. Y dicho sea
de paso, como esta en MySettings puedes obtener la conexion usando
My.Settings.MiConeccion.



Mhmmmm... si, es una dll. Pero no entiendo, los strings de conexion los
tengo metidos dentro del app.config (y los datasets definidos en base a esas
conexiones)...

Entonces como puedo hacer para leer los strings que tengo en la app.config
que quedo adentro de la .dll? O si no que los datasets usen los strings de
la aplicacion que las use? O sea... de alguna manera tengo que tener un solo
origen para los strings... =S

"Eduardo A. Morcillo [MS MVP VB]" <emorcillo .AT. mvps.org> wrote in message
news:eW0xl%
Ya lo intente por el nombre, pero no encuentra nada...



Eso esta medio raro. ¿Seguro que colocaste correctamente el nombre?
Deberias poner asi:

conn =
ConfigurationManager.ConnectionStrings.Item("CapaDatos.My.MySettings.MiConeccion").ConnectionString

Ahora que veo el nombre de la conexion me parece que esto lo tienes en un
DLL ¿no? Y si es asi, ¿estas usando un app.config en el proyecto de la
DLL? Si la respuesta tambien es si, entonces el problema de que no
encuentres la conexion es que el app.config no va para DLLs. Las DLLs leen
la configuracion del app.config de la aplicacion que las usa. Y dicho sea
de paso, como esta en MySettings puedes obtener la conexion usando
My.Settings.MiConeccion.

Es que siempre se esta fijando en machine.config y no ve app.config?
Como le indico que se fije app.config, que es donde tengo los datos?



La configuracion de la aplicacion es una combinacion de machine.config con
tu app.config.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C

Respuesta Responder a este mensaje
#5 Eduardo A. Morcillo [MS MVP VB]
18/04/2006 - 21:21 | Informe spam
Mhmmmm... si, es una dll. Pero no entiendo, los strings de conexion
los tengo metidos dentro del app.config (y los datasets definidos en
base a esas conexiones)...



Pero en un app.config que esta en el proyecto de la DLL, el cual es
totalmente inutil en el contexto de la aplicacion que usa la dll (inutil en
cualquier contexto en realidad porque el app.config no es para DLLs).

Entonces como puedo hacer para leer los strings que tengo en la
app.config que quedo adentro de la .dll? O si no que los datasets
usen los strings de la aplicacion que las use? O sea... de alguna
manera tengo que tener un solo origen para los strings... =S



El app.config no queda dentro de la dll ni el exe, es un archivo externo. Lo
quedebes hacer es definir las conexiones en el app.config de la aplicacion
que usa la DLL.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida