none
Ayuda con SQL RRS feed

  • Pregunta

  • Cree un proyecto SETUP para probarlo en otra maquina y como pre-requisitos coloque que se instalara SQL Server Express R2 , puse la base de datos en la carpeta de instalacion de SQL y la linea de conexion esta colocada en el App.config dentro del proyecto. 

    cuando lo estoy corriendo en la otra pc me sale este mensaje, que puede ser ? , active los servicios verifique la conexion y nada 

    

    domingo, 5 de febrero de 2017 21:58

Respuestas

  • Hola, 

    "cree una carpeta con los archivos .log y .mdf que se copian digamos en esta carpeta"C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA"

    Hasta donde yo se , no porque pongas los archivos .mdf y .ldf en esa ruta va a funcionar, si es correcto que tengas la instancia instalada y corriendo el servicio 

    "Segun lo que dices, si tengo una carpeta de DB que se crea al momento de la instalacion deberia cambiar mi ConString  con otra linea que sea directamente desde la carpeta DB? "

    Si vas a  trabjar con el .mdf entonces como te puse líneas arriba debes poner la ruta dodne se encuentra el archivo fisicamente el DataDirectory hace alusión a que se encuentra en la misma ruta donde esta el .exe

    No estoy muy claro de esta parte "verificaste el nombre de la instancia y las credenciales a la base de datos,"

    Me refiero a las credenciales para conectarte a la BD, con Trusted_Connection=True estas diciendo que te estás conectando a la BD con las mismas credenciales del windows ,también podrías haber utilizado el usuario sa y la clave que usaste al momento de la instalación.

    Yo la verdad no utilizo setup, lo que he hecho con este tipo de sistemas cliente servidor es coger los archivos que me genera el bin , el .exe , los ddl de las clases y el mdf si fuera el caso y ponerlos en una ruta juntos , si ejecutas el .exe y la pc tiene el framework instalado, y la instancia de base de datos corriendo (el servicio) debería funcionar sin problemas.Considera que la instancia de sql con el que creaste el archivo .mdf debe ser la misma que la que esta corriendo en la pc del usuario es decir si creaste el .mdf con sql server express 2008 R2 entonces esa es la que debe estar instalado en el cliente,


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.




    • Editado Augusto1982 lunes, 6 de febrero de 2017 0:00
    • Marcado como respuesta Alex Alfonso lunes, 6 de febrero de 2017 1:39
    domingo, 5 de febrero de 2017 23:27
  • "Pero la intancia fue creada por SQL server 2012. "

    Este probablemente sea uno de los problemas si creaste el mdf con sql 2012 y tratas de abrirlo con una instancia de SQL 2008 R2 express pues no va a funcionar ,te recomiendo que generes el .mdf en la misma versión de sql que piensas instalar en el cliente.


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.


    • Editado Augusto1982 lunes, 6 de febrero de 2017 1:59
    • Marcado como respuesta Alex Alfonso lunes, 6 de febrero de 2017 2:20
    lunes, 6 de febrero de 2017 1:58

Todas las respuestas

  • Hola,ese error indica en efecto que no se puede conectar al servidor de la base de datos,

    no entiendo estos pasos

    "puse la base de datos en la carpeta de instalacion de SQL"

    que es lo que pusiste  exactamente ahí el archivo .mdf u otro,y donde esta esa carpeta?

    si es un archivo .sdf ó .mdf y si haz definido la cadena de conexión algo como 

    "Data Source=|DataDirectory|Contactos.sdf;Persist Security Info=False;";
    entonces deberían estar en la misma ruta que el .exe de tu aplicación.

    "y la linea de conexion esta colocada en el App.config dentro del proyecto. "

    verificaste el nombre de la instancia y las credenciales a la base de datos,

    podrías mostrar estos datos?, 


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.





    • Editado Augusto1982 domingo, 5 de febrero de 2017 22:44
    domingo, 5 de febrero de 2017 22:39
  • Alex Alfonso,

    - ¿La cadena de conexión contiene las credenciales de acceso para la instancia de SQL Server instalada en el equipo donde se ejecuta la aplicación?

    - ¿El proceso de instalación -o cualquier otro- ocupo restaurar la copia de seguridad de la base de datos sobre la instancia que se ejecuta en el equipo? ¿O tienes configurada la propiedad AttachDbFileName?


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    domingo, 5 de febrero de 2017 22:41
  • Augusto1982 Gracia por aportar nuevamente en mis consultas, a ver como estoy aprendiendo en este tema te explico mas o menos como hice mi setup, lo principal colocar los primary outputs de todas mis clases. en los pre-requsitos puse net. 4.5.2 y SQL server express R2. En el FILE SYSTEM del setup en "Application folder" cree una carpeta con los archivos .log y .mdf que se copian digamos en esta carpeta "C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA" que es donde tengo instalado mi SQL. 

    Aqui donde es mi cadena de conexion lo coloco asi 

    <connectionStrings>
      <add name="XXX" connectionString="Server =.; Database=YYY; Trusted_Connection=True"/>
    </connectionStrings>

    Segun lo que dices, si tengo una carpeta de DB que se crea al momento de la instalacion deberia cambiar mi ConString  con otra linea que sea directamente desde la carpeta DB? 

    No estoy muy claro de esta parte "verificaste el nombre de la instancia y las credenciales a la base de datos,"

    Gracias por tu aporte nuevamente

    domingo, 5 de febrero de 2017 23:05
  • Hola Willams Morales, estoy algo nuevo en este tema asi que ando aprendiendo cosas nuevas poco a poco, asi que te explico lo que he hecho hasta ahora . 

    lo principal colocar los primary outputs de todas mis clases. en los pre-requsitos puse net. 4.5.2 y SQL server express R2. En el FILE SYSTEM del setup en "Application folder" cree una carpeta con los archivos .log y .mdf que se copian digamos en esta carpeta"C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA" que es donde tengo instalado mi SQL. 

    Aqui donde es mi cadena de conexion lo coloco asi 

    <connectionStrings>
      <add name="XXX" connectionString="Server =.; Database=YYY; Trusted_Connection=True"/>
    </connectionStrings>

    Segun lo que dices, si tengo una carpeta de DB que se crea al momento de la instalacion deberia cambiar mi ConString  con otra linea que sea directamente desde la carpeta DB? 

    y como dije antes no estoy muy claro respecto a lo de las credenciales y la parte del Attach

    domingo, 5 de febrero de 2017 23:08
  • Hola, 

    "cree una carpeta con los archivos .log y .mdf que se copian digamos en esta carpeta"C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA"

    Hasta donde yo se , no porque pongas los archivos .mdf y .ldf en esa ruta va a funcionar, si es correcto que tengas la instancia instalada y corriendo el servicio 

    "Segun lo que dices, si tengo una carpeta de DB que se crea al momento de la instalacion deberia cambiar mi ConString  con otra linea que sea directamente desde la carpeta DB? "

    Si vas a  trabjar con el .mdf entonces como te puse líneas arriba debes poner la ruta dodne se encuentra el archivo fisicamente el DataDirectory hace alusión a que se encuentra en la misma ruta donde esta el .exe

    No estoy muy claro de esta parte "verificaste el nombre de la instancia y las credenciales a la base de datos,"

    Me refiero a las credenciales para conectarte a la BD, con Trusted_Connection=True estas diciendo que te estás conectando a la BD con las mismas credenciales del windows ,también podrías haber utilizado el usuario sa y la clave que usaste al momento de la instalación.

    Yo la verdad no utilizo setup, lo que he hecho con este tipo de sistemas cliente servidor es coger los archivos que me genera el bin , el .exe , los ddl de las clases y el mdf si fuera el caso y ponerlos en una ruta juntos , si ejecutas el .exe y la pc tiene el framework instalado, y la instancia de base de datos corriendo (el servicio) debería funcionar sin problemas.Considera que la instancia de sql con el que creaste el archivo .mdf debe ser la misma que la que esta corriendo en la pc del usuario es decir si creaste el .mdf con sql server express 2008 R2 entonces esa es la que debe estar instalado en el cliente,


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.




    • Editado Augusto1982 lunes, 6 de febrero de 2017 0:00
    • Marcado como respuesta Alex Alfonso lunes, 6 de febrero de 2017 1:39
    domingo, 5 de febrero de 2017 23:27
  • Augusto1982

    Voy a Seguir tu consejo, cualquier cosa si necesito ayuda en el mismo tema te aviso por este medio.

    Pero la intancia fue creada por SQL server 2012. Pero los Setup projects no vienen con ese add. solamente llegan hasta el 2008


    lunes, 6 de febrero de 2017 1:40
  • "Pero la intancia fue creada por SQL server 2012. "

    Este probablemente sea uno de los problemas si creaste el mdf con sql 2012 y tratas de abrirlo con una instancia de SQL 2008 R2 express pues no va a funcionar ,te recomiendo que generes el .mdf en la misma versión de sql que piensas instalar en el cliente.


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.


    • Editado Augusto1982 lunes, 6 de febrero de 2017 1:59
    • Marcado como respuesta Alex Alfonso lunes, 6 de febrero de 2017 2:20
    lunes, 6 de febrero de 2017 1:58