Estoy implementando una aplicación winform creada con vs 2008 0n XP sp3.implementando la aplicación winform con sqlite incrustado
he creado una base de datos con esquema de vacío, que me cayó en la carpeta raíz del proyecto y en las propiedades de Elegí Build Action
: recursos incrustados y Copy to Output directory
: Copiar siempre. Ahora, en lugar de tener connectionstring en la sección app.config connectionString, puse una entrada en appSetting
: key
= "database"; value
= "mydb.db; Version = 3".
Así que para crear mi connectionString
i utilizado:
SQLiteConnection con = new SQLiteConnection("Data Source=" + Path.Combine(Application.StartupPath, ConfigurationManager.AppSettings["database"]));
Todo funciona bien y me empaqueta la aplicación con un project.Now configuración después de instalar la aplicación de la base de datos no se pudo encontrar y me vi obligado a copiar la base de datos al Application Folder
en el proyecto de instalación para que funcione.
lo que pensé es que se supone que db está en la aplicación dll debido a copy always
.pero no puedo acceder a él. Entonces, ¿qué hice exactamente mal?
estoy sospechando que debería haber acaba de conectarse al significado de la raíz no db usando Application.StartupPath
pero estoy aquí pidiendo las mejores prácticas causan lo que hice está trabajando, pero aún mirando como solución así que por favor puede alguien comparte su experiencia conmigo? gracias por leer
Supongo que esto es más una pregunta de "incrustación de un archivo" que una pregunta de SQLite. –
sí, sí. Pero entonces sqlite es una de las bases de datos más integradas, por lo que la mayoría de los usuarios de sqlite podrían saber si se debe incrustar una base de datos.correcta? –