2009-05-12 1 views
0

DBを1つのスレッドで満たすプログラムがあります。 Iすべてのクエリに1つの接続を使用します。それで、私はトランザクションでそれらをすべて実行することができます。ADO SQLServer dbGoはEAccessViolationを生成します

毎秒、SQL Server 2005 Expressに入力する必要がある新しいファイルセットがあります。

アプリケーションは24時間から36時間実行できますが、突然「クエリ違反」が表示されます。

このクエリはatleast 24 * 60 * 60回実行されました。

ほとんどのクエリ(90%)にはパラメタがあるので、パラメールなしのクエリでも起こりますが、私は気にしません。それらは挿入/更新、またはパラメータで選択されます。

これですべてのクエリがその後に同じEAccessViolationを取得し、しばらくしてからStackOverflowが取得されます。

コードは、例外が処理され、次にコードが問題なく実行されるように、慎重に構築されますが、

これは、BCB Builder 2007のdbGoを使用する代わりに、Cpp Builder 6.0でADOを行った唯一の変更で、これがvariosクエリ(以前のバージョンから変更されていない)で発生しているという事実です。

私は、Windows版MDAC(2.8)やCodeGearのdbGoの中にあると思います。以前のバージョン(ADO BCB6.0)では実行できなかったこと(dbGOおよびBCB2007)が原因で、その部分が非常に疑わしいものになっています。

いくつかの素晴らしいアイデアがあることを願っています。何がこのすべての理由である可能性がありますか。

現時点では、私はデスクトップ上でここを再現できません。私はまだそれを再現するために努力しています、それはdefibnitlyより多くの情報を与えるでしょう。

私は提案があります。

について

jvdnです。

答えて

0

私はドライバを疑うでしょう - 別のものを使って問題を切り分けることができますか?また、異なる構文を使用するようにクエリを書き直してみてください。たぶん頻繁に接続を書き直すことができますか?

+0

私はこれが表示されることを願っています Windowsマシンは同じです(ドライバ)私はADOConnで余分なErrrorオブジェクトを見つけました。これは私が先に探検します。 あなたの反応に感謝します。 –

関連する問題