none
Falta o no es correcta la propiedad de conexión del archivo de configuración de la aplicación RRS feed

  • Pregunta

  • Hola comunidad!!!

    Me gustaría si pueden darme una mano con respecto a la cadena de conexión en una aplicación winforms. Esta desarrollada en VS2010 con C# y .NET Framework 3.5. Trabajo con Clases de Linq to SQL y SQL Server 2008 express.

    El inconveniente que tengo es que cargo datos en combos mediante el DataContext el cual tiene tablas y procedimientos almacenados los cuales cargan y modifican datos. Todo funcionaba bien, hasta que le cambié los datos de la cadena de conexión en el App.config. Los combos no cargan los datos. Solo le he cambiado los datos del servidor, después todo es igual. He cambiado estos datos porque estoy tratando de llevar esta App a otro entorno o empresa. Los objetos creados para cada combo acceden a las tablas contempladas en el entity class. A continuación muestro un ejemplo de como accedo a los datos mediante Linq:

    Entidad de tipo clase para cargar los datos de la tabla sexo:

        public class NSexo
        {
            public DataSisgeHospi_dbmlDataContext db = null;

            public List<tblSexo> ListaSexo()
            {
                try
                {
                    using (this.db = new DataSisgeHospi_dbmlDataContext())
                    {
                        var t = from s in db.tblSexo
                                orderby s.Sexo ascending
                                select s;
                        return t.ToList();
                    }
                }
                catch (Exception ex)
                {

                    throw new Exception("Error al listar el Género\n " + ex.Message);
                }
            }
        }

    He puesto un punto de interrupción y este solo llega a la parte de la creación de la variable de tipo dataContext.

    Cuando abrí el archivo .dbml me salió el mensaje contemplado o mencionado en el título de esta pregunta.

    Les agradezco cualquier sugerencia o idea o posible causa que puedan aportar!!!


    Quien no conoce el pasado está condenado a repetirlo. Napoleón Bonaparte

    viernes, 22 de noviembre de 2013 20:53

Respuestas

  • hola

    veo que el dbml esta en un proyecto distinto al Windows Application que ejecutas

    por lo que deberias definir correctamente ambos app.config, ya que al inicia rla aplicacion usara el app.config del proyecto windows Application

    pero al editar el dbml usara el app.config donde esta el dbml

    valida que ambos estan correctos

    >>con la salvedad de que la consulta a estos datos no la hago mediante el entity class o DataContex, sino mediante >>una consulta en el mismo formulario.

    como es eso? si tienes las queries por medio de EF porque no lo usas

    porque ejecutas por fuera de este

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Paoli_vb sábado, 23 de noviembre de 2013 3:13
    viernes, 22 de noviembre de 2013 23:01
  • Hola Leandro y ElTavo!!!

    Les comento que ya he solucionado el problema. Tal y como sugirió Leandro "por lo que deberias definir correctamente ambos app.config, ya que al inicia rla aplicacion usara el app.config del proyecto windows Application". En el app.config accedía por medio de <connectionStrings> y en el otro (App.config) el del proyecto por defecto accedía mediante <appSettings>. Como el origen de datos del DataContex era mediante HOSP_DBConnectionString (Settings) y como estaba llamando al App.config de la Windows Application entonces no podía conectarse o recuperar los datos. En resumen los valores o estado de la cadena de conexión eran correcto, lo que no era correcto era la forma de acceder en el archivo de configuración de la Windows Application.

    Les agradezco a la comunidad por su valiosa ayuda e interés, en especial a Leandro y al ElTavo!!!

    Podemos cerrar el hilo.

    Saludos!!!


    Quien no conoce el pasado está condenado a repetirlo. Napoleón Bonaparte

    • Marcado como respuesta Paoli_vb sábado, 23 de noviembre de 2013 3:13
    sábado, 23 de noviembre de 2013 3:12

Todas las respuestas

  • hola

    >>Todo funcionaba bien, hasta que le cambié los datos de la cadena de conexión en el App.config.

    el tema seria, lo habras cambiado de forma correcta ?

    el dbml esta en el mismo proyecto Windows Application o lo tienes en otro proyecto separado ?

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 22 de noviembre de 2013 21:18
  • Hola amigo puedes indicar las cadenas de conexión, es decir la que te funcionaba y la que cambiaste, de pronto te podemos ayudar a detectar algún error en ellas, adicional si cambiaste de servidor por ejemplo en la cadena de conexión te aseguraste de tener acceso a este desde la máquina en la que estas probando, o si efectivamente con esa cadena de conexión puedes ingresar sin problemas a través del sql server managemet ?

    saludos!


    El Tavo Mi Blog

    viernes, 22 de noviembre de 2013 22:08
  • Hola Leandro y gracias por tu interés!!!

    A continuación dejo un pantallazo de la solución la cual tiene cuatro proyectos.

    Como se puede observar, el .dbml está en un proyecto separado llamado Datos.

    En otro proyecto utilizo otro App.config el cual también le cambié los datos de conexión. Esta conexión o cadena de conexión la he probado con los datos y funciona ya que hay una parte para login funciona perfectamente en el nuevo entorno, con la salvedad de que la consulta a estos datos no la hago mediante el entity class o DataContex, sino mediante una consulta en el mismo formulario. El problema está a la hora de usar el datacontext o Entityclass Linq to SQL.

    Saludos!!!


    Quien no conoce el pasado está condenado a repetirlo. Napoleón Bonaparte

    viernes, 22 de noviembre de 2013 22:45
  • Hola y gracias por el interés!!

    Como le contesté a Leandro, La cadena de conexión funciona correctamente, el problema está a la hora de usarlo con el DataContext. Lo primero que hice fue probarla mediante el mssql manegement studio mediante acceso remoto. También accedo correctamente mediante el login el cual tiene los mismos valores en la cadena de conexión.

    Saludos!!!


    Quien no conoce el pasado está condenado a repetirlo. Napoleón Bonaparte

    viernes, 22 de noviembre de 2013 22:48
  • hola

    veo que el dbml esta en un proyecto distinto al Windows Application que ejecutas

    por lo que deberias definir correctamente ambos app.config, ya que al inicia rla aplicacion usara el app.config del proyecto windows Application

    pero al editar el dbml usara el app.config donde esta el dbml

    valida que ambos estan correctos

    >>con la salvedad de que la consulta a estos datos no la hago mediante el entity class o DataContex, sino mediante >>una consulta en el mismo formulario.

    como es eso? si tienes las queries por medio de EF porque no lo usas

    porque ejecutas por fuera de este

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Paoli_vb sábado, 23 de noviembre de 2013 3:13
    viernes, 22 de noviembre de 2013 23:01
  • Hola. Los dos funcionan para cada proyecto. El problema apareció cuando cambié los valores o el nombre del servidor en la cadena de conexión.

    Esto es así ya que esta App. le fui agregando características con las nuevas funcionalidades. En este caso con el Entity Class. Esta ya tenía uno o varios modulos del proyecto Windows App funcionando con el App.config con ADO.NET sin el Entity Class.

    Saludos.


    Quien no conoce el pasado está condenado a repetirlo. Napoleón Bonaparte

    viernes, 22 de noviembre de 2013 23:19
  • Hola Leandro y ElTavo!!!

    Les comento que ya he solucionado el problema. Tal y como sugirió Leandro "por lo que deberias definir correctamente ambos app.config, ya que al inicia rla aplicacion usara el app.config del proyecto windows Application". En el app.config accedía por medio de <connectionStrings> y en el otro (App.config) el del proyecto por defecto accedía mediante <appSettings>. Como el origen de datos del DataContex era mediante HOSP_DBConnectionString (Settings) y como estaba llamando al App.config de la Windows Application entonces no podía conectarse o recuperar los datos. En resumen los valores o estado de la cadena de conexión eran correcto, lo que no era correcto era la forma de acceder en el archivo de configuración de la Windows Application.

    Les agradezco a la comunidad por su valiosa ayuda e interés, en especial a Leandro y al ElTavo!!!

    Podemos cerrar el hilo.

    Saludos!!!


    Quien no conoce el pasado está condenado a repetirlo. Napoleón Bonaparte

    • Marcado como respuesta Paoli_vb sábado, 23 de noviembre de 2013 3:13
    sábado, 23 de noviembre de 2013 3:12