我有一个 Silverlight 网络应用程序。
我正在将记录插入到从 csv 文件加载的表(SQL 数据库)中。 我尝试加载 +- 15 000 条记录,但出现以下错误: 远程服务器返回错误:NotFound。
我想这是因为一次插入的数据太多了,因为当我将它分成“批处理”时,比如一次 100 个,它插入到表中没有任何问题。即使一次 500 个也太多了。
将数据插入表后,我所做的是从同一个表中读取数据并将其放入数据网格中。这样一来,用户可以看到它已成功插入,还可以在处理插入的记录时进行监控。
现在显然我在尝试将 15000 +- 记录加载回数据网格时遇到了同样的错误。
我的问题是如何批量读取表中的记录?
希望有人能帮忙。
非常感谢,
尼尔
编辑
为了测试,我对 OperationContract 进行了更改:
最初
[OperationContract]
public List<send_box> GetSendingItems()
{
return (from a in smsData.send_boxes
orderby a.sb_log descending
select a).ToList();
}
更改为
[OperationContract]
public List<send_box> GetSendingItems()
{
List<send_box> sendBoxList = (from a in smsData.send_boxes
orderby a.sb_log descending
select a).ToList();
return sendBoxList;
}
结果是从数据库返回的,但是当我尝试将它返回给应用程序时: --> 返回发送框列表
然后它抛出“远程服务器返回错误:NotFound”。错误。希望这些额外的信息能有所帮助
问候
尼尔
最佳答案
根据您发布的有限错误消息,我不确定这是否是您的确切问题(堆栈跟踪将有助于更好地诊断此问题),但我假设您正在使用 WCF 服务将数据传递给数据库并返回,服务设置了最大消息大小,您需要增加该大小以允许传递更大量的数据。这是一篇讨论此问题的文章 wcf-how-to-increase-message-size-quota
关于c# - 批量从SQL Server中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7228670/