none
Ruta de la base de datos RRS feed

  • Pregunta

  • Me falta una ultima cosita para publicar mi proyecto

    Funciona en desarrollo pero ahora que lo quiero llevar a producción, me aparece un problema

    explico es un programa con una base de datos sqlite la guardo dentro del proyecto

    la ejecuto y la llamo asi

    sql_con = new SQLiteConnection("Data Source=C:/Users/Administrador.WIN44C/Desktop/GPRSsms/GPRSsms/Respuesta.s3db");

    el problema aparece cuando lo quiero publicar como obtengo la ruta de la base de datos, porque al hacer el programa instalable, esa ruta que contiene la base de datos va a depender de la maquina donde se instale el programa

    Respuesta.s3db

    Muchas Gracias


    Sofia

    lunes, 20 de mayo de 2019 6:40

Respuestas

Todas las respuestas

  • Hola,

    Puedes utilizar:

    string filepath = Application.StartupPath + "\\config\\default\\default.txt"

    para obtener la ruta donde se ejecuta la aplicación.

    Saludos

    • Propuesto como respuesta Carlos_Ruiz_M martes, 21 de mayo de 2019 19:18
    lunes, 20 de mayo de 2019 9:42
  • Puedes utilizar:

    string filepath = Application.StartupPath + "\\config\\default\\default.txt"

    No te aconsejo que hagas esto. El problema es que al desplegar el programa en producción, típicamente se instalará bajo "C:\Archivos de Programa", que es una carpeta de solo-lectura para las aplicaciones lanzadas por los usuarios. Por lo tanto, la base de datos dará errores al intentar grabar en ella.

    En consecuencia, no es buena idea ubicar la base de datos por debajo de Application.StartupPath. Es preferible que la ubiques en una ruta donde tenga permisos de lectura/escritura, por ejemplo, debajo de C:\ProgramData si los datos tienen que ser comunes a todos los usuarios o por debajo de "Mis Documentos" si cada usuario debe tener una copia distinta. La clase Environment en combinación con SpecialFolder te proporcionan los métodos para obtener mediante programación dichas rutas.

    • Propuesto como respuesta Carlos_Ruiz_M martes, 21 de mayo de 2019 19:18
    lunes, 20 de mayo de 2019 9:58
    Moderador
  • hola

    No evaluaste definir el connection string en el app.config, de esta forma puede editar con el notepad la configuracion aun estando compilado sin tocar codigo

    Archivos de Configuración - Una introducción (1/3)

    analiza como lo explico en el titulo: "1- Agregar un archivo de configuración a nuestro proyecto"

    asi podrias cambiar el connection string una vez que lleves tu desarrollo a la pc del usuario

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 20 de mayo de 2019 13:03