none
Botón de mantenimiento para cargar base de datos de QSL en visual basic RRS feed

  • Pregunta

  • hola quiero saber si se puede hacer un botón en visual basic que me ayude a conectar mi proyecto con una base de datos en sql, sin importar la maquina en que se instale mi proyecto, que sea algo automático al hacer clik, la conexión a la BD la estoy haciendo por medio de una clase. 

    si es posible quisiera saber ¿Cómo se hace?

    O darme alguna sugerencia de como hacer que mi proyecto se conecte a la base de datos automáticamente o de manera mas fácil para el usuario... cuando el proyecto se instale  

    ayúdenme por favor 



    BANEGAS

    jueves, 2 de enero de 2020 20:48

Respuestas

  • En general no va a poder ser completamente automático. Si la base de datos va a poder estar instalada en un servidor distinto de la máquina donde se instala el programa, entonces hay que preguntar como mínimo cuál es el servidor en el que se encuentra, y posiblemente algunos datos más. Esta pregunta la puede hacer el programa de instalación, si es que estás usando para instalar alguna herramienta con esta capacidad, o bien se puede presentar una ventanita que lo pregunte la primera vez que ejecutas el programa.

    En la ventanita hay que preguntar el nombre del servidor y la instancia, en caso de que se haya instalado como instancia con nombre en lugar de instancia predeterminada. También hay que preguntar el nombre de la base de datos, en caso de que no sea fija y siempre la misma para tu programa (te recomiendo que no lo sea, para permitir instalar más de una copia con distinto nombre, por ejemplo, una para hacer pruebas y otra con datos reales). Y también hay que pensar en cuáles son las credenciales que se van a usar para conectar el programa con la base de datos. Puedes usar autenticación integrada de Windows, o puedes usar autenticación de SQL Server. En este caso habría que preguntar por el usuario y la password. En cualquiera de los dos casos, las credenciales correspondientes habrán tenido que ser previamente creadas y autorizadas en el servidor en el que se encuentra la base de datos.

    Una vez que le hayas preguntado al usuario toda esa información, construyes con ella una cadena de conexión. La forma más elegante de hacer esto es usar la clase SqlConnectionStringBuilder, que recibe todos esos datos y con ellos te devuelve la cadena de conexión. Finalmente, dicha cadena la salvas en el sitio desde donde tu programa la lea normalmente durante su funcionamiento normal. Si dicho sitio es el archivo .config, y el programa ya estaba en marcha, ten presente que tendrás que reiniciar el programa para que la lea.

    • Marcado como respuesta ili Banegas viernes, 3 de enero de 2020 14:40
    viernes, 3 de enero de 2020 8:17

Todas las respuestas

  • En general no va a poder ser completamente automático. Si la base de datos va a poder estar instalada en un servidor distinto de la máquina donde se instala el programa, entonces hay que preguntar como mínimo cuál es el servidor en el que se encuentra, y posiblemente algunos datos más. Esta pregunta la puede hacer el programa de instalación, si es que estás usando para instalar alguna herramienta con esta capacidad, o bien se puede presentar una ventanita que lo pregunte la primera vez que ejecutas el programa.

    En la ventanita hay que preguntar el nombre del servidor y la instancia, en caso de que se haya instalado como instancia con nombre en lugar de instancia predeterminada. También hay que preguntar el nombre de la base de datos, en caso de que no sea fija y siempre la misma para tu programa (te recomiendo que no lo sea, para permitir instalar más de una copia con distinto nombre, por ejemplo, una para hacer pruebas y otra con datos reales). Y también hay que pensar en cuáles son las credenciales que se van a usar para conectar el programa con la base de datos. Puedes usar autenticación integrada de Windows, o puedes usar autenticación de SQL Server. En este caso habría que preguntar por el usuario y la password. En cualquiera de los dos casos, las credenciales correspondientes habrán tenido que ser previamente creadas y autorizadas en el servidor en el que se encuentra la base de datos.

    Una vez que le hayas preguntado al usuario toda esa información, construyes con ella una cadena de conexión. La forma más elegante de hacer esto es usar la clase SqlConnectionStringBuilder, que recibe todos esos datos y con ellos te devuelve la cadena de conexión. Finalmente, dicha cadena la salvas en el sitio desde donde tu programa la lea normalmente durante su funcionamiento normal. Si dicho sitio es el archivo .config, y el programa ya estaba en marcha, ten presente que tendrás que reiniciar el programa para que la lea.

    • Marcado como respuesta ili Banegas viernes, 3 de enero de 2020 14:40
    viernes, 3 de enero de 2020 8:17
  • Alberto Muchas gracias por tu respuesta, te quiero comentar que la base de datos se subirá a un servidor.

    BANEGAS

    viernes, 3 de enero de 2020 14:36
  • te quiero comentar que la base de datos se subirá a un servidor.
    Maticemos eso de "se subirá". ¿La vas a subir tú (o alguien bajo tus órdenes)? En otras palabras, ¿tienes control sobre la configuración exacta que va a tener la base de datos en el servidor? Si es así, podrías dejar ya pre-configurada la cadena de conexión dentro del .config de tu programa cliente de manera que contenga los datos para conectarse a ese servidor, y entonces no habría que hacer nada en el programa; funcionaría nada más instalarlo, sin configurar nada.
    viernes, 3 de enero de 2020 14:55