visual usar studio setup para pagina oficial netfx46 net framework for descargar data c# sqlite connection-string system.data.sqlite

c# - usar - Con System.Data.SQLite, ¿cómo se especifica un archivo de base de datos en la cadena de conexión utilizando una ruta relativa



sqlite visual studio 2008 (3)

Al querer implementar mi proyecto en diferentes servidores, preferiría poder especificar una cadena de conexión utilizando una ruta relativa. Parece que no puedo hacer que funcione y quiero saber si hay algún truco para eso ...


Me gusta esto:

String currentPath = System.IO.Path.GetDirectoryName (Application.ExecutablePath);


Una sugerencia

Puede construir la ruta absoluta en la aplicación y pasarla en la cadena de conexión.

Por lo tanto, si sabe que el archivo de la base de datos está en la subcarpeta de la database de database de la carpeta de la aplicación, podría hacer algo como esto (C #):

string relativePath = @"database/myfile.s3db"; string currentPath; string absolutePath; string connectionString; currentPath = System.Reflection.Assembly.GetExecutingAssembly().Location; absolutePath = System.IO.Path.Combine(currentPath,relativePath); connectionString = string.Format("DataSource={0}", absolutePath); SQLiteConnection cnn = new SQLiteConnection(connectionString);

(Alguien probablemente me puede corregir sobre cómo obtener la ruta actual).


¿Qué tal esto?

"Data Source=|DataDirectory|mydb.db;..."

Yo creo |DataDirectory| apunte al directorio donde se encuentra su aplicación. Yo uso NHibernate y funciona con lo siguiente:

<add key="hibernate.connection.connection_string" value="Data Source=|DataDirectory|mydb.db;Version=3;Compress=False;synchronous=OFF;" >