项目背景:程序由网络版改成单机版,mysql数据库安装复杂容易出错,由sqlite3替代,----access不支持分页的sql操作
1.
问题:会出现”database is locked!
原因:“sqlite不支持多线程并发操作的,改造过程中,代码分散,数据库操作完成后数据库连接未被释放,或者引用存在,显式去释放资源,不成功
解决办法,由于时间有限,代码复杂,没时间一一优化,使用FluentData--ORM框架代替原来的Sqlite-.net的原始数据库操作
2.
问题:Sqlite3 DateTime格式问题,格式不一致出现DateTime字段的值无法正常读写!
原因:sqlite3 ,DateTime格式有类型限制,兼容性不好
解决办法:SqliteDev,修改数据类型DateTime--》Sqlite,程序中时间类型统一改为"yyyy-MM-dd HH:mm:ss","yyyy-MM-dd","HH:mm:ss"
3
问题:原始项目是vs2010的开发环境,小数据库改造是在vs2015中进行的,由于vs2015无打包插件,返回vs2010运行,运行不成功 -----出现:找不到请求的 .Net Framework Data Provider
解决办法:
1》在app.config中添加:
2》在vs2010环境中运行sqlite-netFx40-setup-bundle-x86-2010-1.0.101.0.exe