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

string de conexiones

Estas en el tema de string de conexiones en el foro de .NET en Foros del Web. Buen dia Primero que nada lo escribo en este foro y no en alguno relacionado con bases de datos por la siguiente razon: si lo ...
  #1 (permalink)  
Antiguo 27/08/2009, 18:18
 
Fecha de Ingreso: abril-2009
Mensajes: 30
Antigüedad: 15 años
Puntos: 0
string de conexiones

Buen dia

Primero que nada lo escribo en este foro y no en alguno relacionado con bases de datos por la siguiente razon: si lo hago por medio de codigo no tengo mayor problema en declarar y usar un string de conexion, pero aqui lo que quiero hacer es declarar el string por medio del "application settings" de visual studio 2008.
Donde le doy el valor a la cadena en una de las propiedades viene que pueda usar variables de usuario dentro de la cadena, que bien dije asi aqui puedo manejar si me voy a conectar a un servidor u otro segun las necesidades del usuario, el problema viene en que no encuentro la manera correcta para la sintaxis de como incluir una variable en dicha cadena.

Actualmente lo tengo declarado de la siguiente manera:

Código:
server=mi_servidor;user id=mi_usuario;persist security info=True;database=mi_base_de_datos;allow user variables=True
Lo que intento hacer es lo siguiente:

Código:
server=" & variable_mi_servidor & ";user id=mi_usuario;persist security info=True;database=mi_base_de_datos;allow user variables=True
A mi entender esa seria la manera correcta de incluir una variable dentro del string, pero no me funciona. (No incluyo las " " al principio y al final de la cadena porque a lo que he visto Visual Studio lo hace en automatico) Alguien que pueda ayudar?


De antemano, Gracias.
  #2 (permalink)  
Antiguo 27/08/2009, 19:02
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: string de conexiones

el appsettings tiene texto plano no hay forma de que tenga variables en un xml como parte del valor porq el archivo es plano no hay mas.por lo que la asignacion de tus variables debera ser en codigo.

<connectionStrings>
<add name="connection1" connectionString="server=mi_servidor;user id=mi_usuario;persist security info=True;database=mi_base_de_datos;allow user variables=True
"/>
</connectionStrings>

<connectionStrings>
<add name="connection1" connectionString="server="&sevidor&";user id=mi_usuario;persist security info=True;database=mi_base_de_datos;allow user variables=True
"/>
</connectionStrings>

arrojara un erro de tag mal formado en tu xml (.config) por lo que o generas la cadena y la almacenas o haces algo como

<connectionStrings>
<add name="connection1" connectionString="server=mi_servidor;user id=mi_usuario;persist security info=True;database=mi_base_de_datos;allow user variables=True
"/>
</connectionStrings>

y mi_servidor, mi_usuario y mi_base_de_datos los haces appsettings de tu propio config asi cuando la consumas tu cadena de conexion haces un replace cada appsetting correspondiente.

<appSettings>
<add key="mi_usuario" value="934823942394823948298439"/>
....
<add key="mi_base_de_datos" value="934823942394823948298439"/>
</appSettings>

y en codigo reemplazas cada key por su valor

directo en el XML NO SE PUEDE PONER VARIABLES (como si fuera codigo)
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 27/08/2009, 19:24
 
Fecha de Ingreso: abril-2009
Mensajes: 30
Antigüedad: 15 años
Puntos: 0
Respuesta: string de conexiones

Si no se puede entonces porque una de las opciones en las propiedades avanzadas es "Allow user variables" ??? A que se refiere con esto?
  #4 (permalink)  
Antiguo 27/08/2009, 21:25
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: string de conexiones

Allow User Variables si no me equivoco tiene que ver cuando envias no se algo como

select @id:=AVG(id) from tabla where id<@id

pero @id no es un parametro sino una variable de tu query , por loq eu si tu envias @id con Allow User Variables (por default en false) te dira que no puede ejecutar la consulta si no le envias ese parametro. es mas para distinguir entre variables dentro de la consulta y parametros dentro de la misma.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
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 06:25.