BDE を使用して、SQL Server Native Client ODBC ドライバー (2005 バージョン) を介して SQL Server 2008 にアクセスする Delphi コードがいくつかあります。私たちの問題は、複数のテーブルへの挿入を行うループでデッドロックの問題が発生していることです。
ループ全体が [TDatabase].StartTransaction 内で実行されます。SQL Server プロファイラーを見ると、ループ中のある時点で SPID (セッション ID?) が変更され、自然にデッドロックが発生することがはっきりとわかります。(両方の SPID が同じテーブルに挿入します)
ある時点でBDEがDBへの2番目の接続を行うようです...
(BDE をスキップしたいのですが、現在はできません。)
共有する経験がある人はいますか?