我原本以为 SQLite 很简单,但是它却让我头疼不已。我只想创建一个应用程序,使用 ado.net 实体数据类连接到 SQLite 数据库。
我在测试该应用程序时,在运行 Windows XP 的虚拟计算机上出现了问题。当我部署到当前计算机和笔记本电脑上时,应用程序可以正常工作。
以下是在虚拟计算机上发生的情况:
- 应用程序能够启动。
- 应用程序能够使用 System.Data.SQLite 与数据库进行交互。
- 应用程序无法使用 ADO.NET 实体数据模型连接到数据库。
当我尝试连接时,会出现以下异常:
我知道有很多帖子都谈论了这个问题,大多数都说你需要下载SQLite 的 .NET 提供程序。
我已经安装了 sqlite-netFx40-setup-bundle-x86-2010-1.0.79.0.exe,并且遇到了同样的问题。我该怎么办?
编辑
我通过添加以下内容来建立连接:
<system.data>
<DbProviderFactories>
<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>
我将SQLite连接字符串添加到了我的app.config文件中。
问题是现在我无法选择数据或向数据库插入记录。 当我尝试插入新记录时,我得到的异常是:
调用“System.Data.SQLite.SQLiteFactory”类型的存储提供程序实例上的“GetService”方法后返回了 null。 存储提供程序可能未正常运行。