C# 使用SQLite事务I/O错误
我目前有一个客户机/服务器设置,客户机将数据发送到服务器,然后服务器将数据保存到SQLite数据库文件中。要做到这一点,我使用的是在Windows7中运行大约30个客户端(每个客户端在5-30秒之间发送数据)时运行良好的事务 在Windows XP中使用相同的软件时,我可以多次获取/设置数据,而不会出现任何问题,直到我运行了大约20个客户端,我才开始获得Windows延迟写入失败的错误: 这会在服务器上引发异常: 我假设这要么与XP有关,要么与我运行XP的机器上的硬件问题有关C# 使用SQLite事务I/O错误,c#,wcf,sqlite,ioerror,C#,Wcf,Sqlite,Ioerror,我目前有一个客户机/服务器设置,客户机将数据发送到服务器,然后服务器将数据保存到SQLite数据库文件中。要做到这一点,我使用的是在Windows7中运行大约30个客户端(每个客户端在5-30秒之间发送数据)时运行良好的事务 在Windows XP中使用相同的软件时,我可以多次获取/设置数据,而不会出现任何问题,直到我运行了大约20个客户端,我才开始获得Windows延迟写入失败的错误: 这会在服务器上引发异常: 我假设这要么与XP有关,要么与我运行XP的机器上的硬件问题有关 有人有什么建议
有人有什么建议来避免这种情况吗?或者我是否应该捕获异常并重试保存数据?我很抱歉提到这一点,但SQLite本身处于高并发环境中。如果您有多达20个客户端的事务持续5-30秒,您肯定会发现超时(在SQLite中默认为5秒),因为SQLite基本上是fopen的替代品。很抱歉回答我自己的问题,但这是一个硬件问题!以防万一有人过来 这有用吗?抱歉,不,我没有权限在运行此操作所需的计算机上更改它。我将在一个有XP的虚拟机上测试我的代码,看看它是XP还是硬件。谢谢你的回答,但这是我正在进行的一个有特定需求的项目的一部分。我在一开始就提到了这一点,但是规范规定我们必须使用不需要安装的db。此外,事务不会持续5-30秒,每个客户端每5-30秒发送一次数据。事务处理通常非常快,但硬件(我认为)在特定的机器上减慢了速度。…。@james.ingham:那么,再次抱歉。顺便说一下,我想知道为什么您没有在.Net开发环境中使用MS SQL Compact()我没有尝试过,但看起来您需要安装它?我没有演示机的管理员权限,所以SQLite是我必须包含的唯一dll的理想选择。@james.ingham:从技术上讲,您只需要在项目中引用相应的dll。默认情况下,它由msi安装在GAC中。