我创建了一个 SqlLite 3 db 文件并放置在我项目的 App_Data 文件夹(ASP.Net Web API)中。我似乎无法连接到它。异常消息含糊不清,我无法确定出了什么问题。权限?文件未找到?不知道。
我在 web.config 中创建了以下 connectionString 条目:
<connectionStrings>
<add name="LiteConnection" connectionString="Data Source=~\App_Data\repository.s3db;Version=3;" />
当我尝试 Open() 连接时抛出异常。我开始怀疑 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;
}