Я создал файл SqlLite 3 db и поместил его в папку App_Data моего проекта (ASP.Net Web API). Кажется, я не могу подключиться к нему. Сообщение об исключении является неопределенным, и я не могу определить, что не так. Права доступа? Файл не найден? Без понятия.SqlLite 3 - «Не удалось открыть базу данных»
Я создал следующую запись ConnectionString в моем web.config:
<connectionStrings>
<add name="LiteConnection" connectionString="Data Source=~\App_Data\repository.s3db;Version=3;" />
Исключение броска при попытке открыть() соединение. Я начинаю подозревать, что, возможно, IISExpress (VS2012) не может писать в этот каталог или что-то в этом роде?
private string _dbLitePath = ConfigurationManager.ConnectionStrings["LiteConnection"].ConnectionString;
...
public IDbConnection GetConnection()
{
try
{
if (_connection == null)
_connection = new SQLiteConnection(_dbLitePath);
if (_connection.State != ConnectionState.Open)
{
_connection.ConnectionString = _dbLitePath;
_connection.Open(); // kaaaaasplat!
}
}
catch (SQLiteException e)
{
}
return _connection;
}
Что исключение вы получите? –
Итак, если вы входите в этот код во время отладки, каково значение _dbLitePath? Если это не полный путь к системе, например. «C: \ whatever», то это ваша проблема. –
Исключение было именно так, как я уже говорил. «невозможно открыть файл базы данных» - не полезно :) – Nick