C sharp - ReportManager(Postgres y C#)

 
Vista:

ReportManager(Postgres y C#)

Publicado por SIAV (19 intervenciones) el 21/09/2007 16:55:06
Utilizamos el ReportManager con postgres y c#, pero la dificultad existe cuando cambiamos de servidor especificamente de IP, y como la conexion hacemos a travez de una cadena fija igual a SERVER=215.125.2.125;DATABASE=maraparejo;.. etc., la pregunta

Como hago que dicha cadena pueda ser leida desde un archivo, variable publica u otro medio.
Desde ya agradecido....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:ReportManager(Postgres y C#)

Publicado por Iván K (55 intervenciones) el 25/09/2007 17:58:32
Yo conozco dos opciones:

La que a mí se me haría más fácil y que es la que más se adecua a ustedes, es mediante un pequeño archivo xml y la clase System.Xml.XmlTextReader.

En el block de notas pueden crear el archivo xml, que al guardarlo le especifican en el nombre la extención del archivo .xml, entoces agregaría el siguiente texto:

<IP>SERVER=215.125.2.125;DATABASE=maraparejo</IP>

Para que me sea más simple explicarlo, guarden el archivo en la trayectoria en donde tengan el ejecutable. Suponiendo que el nombre del archivo fue 'IP.xml'

entonces pueden obtener el valor de esta cadena con las siguientes instrucciones de la clase 'XmlTextReader'.

string strCadena = string.Empty;
System.Xml.XmlTextReader xmlReader = new System.Xml.XmlTextReader("IP.xml");
while (xmlReader.Read())
{
if (xmlReader.NodeType == System.Xml.XmlNodeType.Text)
{
strCadena = xmlReader.Value;
}
}
xmlReader.Close();

De esta manera cada vez que cambie la IP, entrarían a este pequeño archivo y aquí lo modificarían. Si no quieren guardar el archivo en la trayectoria del ejecutable, tendrían que especificar la trayecctoria, además del nombre del archivo en el parámetro de la clase XmlTextReader.

Otro manera es mediante el editor de registros de Windows mediante la clase Microsoft.Win32.Registry como sigue:

RegistryKey regKey = Registry.LocalMachine.OpenSubKey(@"SIAV\", true);
if (regKey == null)
regKey = Registry.LocalMachine.CreateSubKey(@"SIAV\");
string strValor = regKey.GetValue("IP", string.Empty).ToString();

if (strValor = string.Empty)
{
strValor = "SERVER=215.125.2.125;DATABASE=maraparejo";
regKey.SetValue("IP", strValor, RegistryValueKind.String);
}

No se si han manejado el editor de registro de Windows, lo pueden ejecutar entrando a la opción de Windows->iniciio->Ejecutar, y teclean: 'regedit', aparecerán todos los valores sobre configuración que tengan en su máquina de Windws. Al ejecutar por primera vez este código, se creará un valor alfanumérico llamado 'IP' en la carpeta de Mi PC->HKEY_LOCAL_MACHINE->SIAV y en donde en dicho valor se guardará la dirección IP, ya después de más de dos veces de ejecución, y mientras no se elimine dicho valor, se estará obteniendo la IP. Con esto, cada vez que cambién la IP, tendrían que entrar a este editor de Windows y cambiar el valor de esta llave.

Espero y les ayude esto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ReportManager(Postgres y C#)

Publicado por siav (19 intervenciones) el 28/09/2007 02:17:39
Gracias por la grana ayuda ... Cualquier ayuda que podamos colaborar contigo estamos a las ordenes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar