日期:2014-05-17  浏览次数:20508 次

asp.net+Sqlite 时不时出现Unable to open the database file
网站是能运行的起来,只不过时不时的会出现下面这个错误,没有规律的。app_data已经加了everyone写入权限了。
=================
Unable to open the database file 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Data.SQLite.SQLiteException: Unable to open the database file

源错误: 


行 162:    {
行 163:        if (connection.State != ConnectionState.Open)
行 164:            connection.Open();
行 165:    }
行 166:

===============================
下面是我的类部份方法,也以及及时的关闭了数据库连接。大家帮忙看看哪里还需要改进的。谢谢
[code=C#]
public class SQLiteHelper
{
    public SQLiteHelper()
    {

    }
    //数据库连接字符串(web.config来配置),可以动态更改SQLString支持多数据库.         
    public static string connectionString = "Data Source=" + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["ConnectionSQLite"]) + ";Version=3;";

    public static SQLiteParameter GetOleDbParameter(string paraName, DbType type, int paraSize, Object value)
    {
        SQLiteParameter para = new SQLiteParameter(paraName, type, paraSize);
        para.Value = value;
        return para;
    }
    public static string GetTableData(string Fields, string ID)
    {
        string Sql = "select " + Fields + " From [table] where id='" + ID + "'";
        return GetData(Sql);
    }

    public static string GetData(string Sql)
    {
        object obj = GetSingle(Sql);
        if (obj == null)
        {
            return "";
        }
        return obj.ToString();
    }

    public static int GetMaxID(string FieldName, string TableName)
    {
        string strsql = "select max(" + FieldName + ")+1 from " + TableName;
        object obj = GetSingle(strsql);
        if (obj == null)
        {
            return 1;
        }
     &n