ADO SQLServer dbGo生成EAccessViolation

时间:2009-05-12 09:07:57

标签: ado sql-server-2005-express

我有一个程序在一个线程中填充数据库。 我为所有查询使用一个连接。多数民众赞成,所以我将能够在交易中运行它们。

每一秒我都会得到一组必须输入SQL Server 2005 Express的新文件。

应用程序可以运行24到36个小时,然后突然在查询中获得“EAccessViolation”。

此查询至少执行了24 * 60 * 60次。

如果没有参数的查询也会发生这种情况,因为大多数查询(90%)都有参数,所以我并不感到害羞。它们是插入/更新或使用参数选择。

当这发生后,所有查询都获得相同的EAccessViolation,一段时间后我得到一个StackOverflow。

虽然代码是以sutch构造的,但是处理异常的方式以及下次代码运行时没有问题。

事实上,这种情况发生在varios查询中(并没有从以前的版本改变),唯一的变化是使用BCB Builder 2007中的dbGo代替我们使用Cpp Builder 6.0进行ADO。

我认为它是Windows版MDAC(2.8)或CodeGear的de dbGo中的某种软件。事实上,在之前的版本(ADO BCB6.0)中,我们没有碰到它,而现在使用(dbGO和BCB2007)我们就是让它变得非常可疑。

我希望有些人有一些不错的想法,这可能是造成这一切的原因。

目前我无法在桌面上重现它。我仍然试图让它再现,这将无可非议地提供更多信息。

我愿意接受建议。

问候

jvdn。

1 个答案:

答案 0 :(得分:0)

我怀疑司机 - 尝试使用不同的驱动程序来查看是否可以隔离问题。还尝试重写查询以使用不同的语法,也许你可以经常重新连接连接?