使用SQLite连接数据库时,使用DbProviderFactories.GetFactory("System.Data.SQLite");函数报错“”找不到请求的 .Net Framework Data Provider。可能没有安装“,查询了网络,解决办法是,找到C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config路径内的machine.config,添加如下代码:
<system.data>
<DbProviderFactories>
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
<remove invariant="System.Data.SQLite"/>
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
</system.data>
其中2,3行是我电脑文件中原来就有的,这里保存是为了方便添加时定位,添加其实就是4,5行,主要是5行。
添加之后在此报错,“找不到或无法加载已注册的 .Net Framework Data Provider”,解决办法是为项目添加对应的System.Data.SQLite.dll引用。dll文件下载网址http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki,根据自己的。net框架版本选择下载。
测试OK!