Я тебе может быть надоел но у меня проблемы не закончились...
Есть программа с моим классом xAccess.
Там два соединения. Одно используется для работы xAccess.
Второе тоже для него но по таймеру в треде раз в 15 секунд обновляет запись в файле пользователей ...
В чем проблема.
В программе есть связанные бровзы. Бежим по первому - второй обновляется ...
Так вот когда долго (200-300 записей) побегаешь по первому бровзу, вылетают разнообразные ошибки.
Ошибки реально очень разные и мало того! По логу видно что MAV иногда так переклинивает что он селекты неверные делает!
Мой вывод: Независимо от того в каком ты соединении выполняешь команду, используется один класс (или какие то свойства) для бинда переменных. Так вот в нем все равно как то данные курочатся...
Могу кучу примеров ошибок привести и т.д.
И кучу примеров написать.
Пробовал разные варианты. Выключал xAccess из программы и просто вешал пару тредов которые в цикле по таймеру обрабатывали по несколько записей... пара минут и прога выдает ошибки ... или сыпется.
Что делать, куда копать? Ну не должны пересекаться запросы, буфера и т.д. в разных тредах, а у меня такое ощущение что так и происходит.
Вот к примеру два одинаковых запроса, из одного и того же бровза.
Код: Выделить всё
13521864 Open cursor
13521864 Maximum read 5000 rows for cursor
Binding field 1 B."GoodsID" = 40284
13521864 Parsing Cursor : SELECT A."CountryName",B."CertificationID",C."RealNumber",B."Declaration",B."GoodsCertificationID",C."DateTimeEnd" FROM _NK_GoodsCertification B LEFT OUTER JOIN _NK_Certification C ON C."CertificationID"=B."CertificationID" LEFT OUTER JOIN _NK_Country A ON A."CountryID"=B."CountryID" WHERE B."GoodsID"=? ORDER BY A."CountryName"
13521864 Close cursor
Код: Выделить всё
13521864 Open cursor
13521864 Maximum read 5000 rows for cursor
Binding field 1 B."GoodsID" = 12311
13521864 Parsing Cursor : SELECT A."CountryName",B."CertificationID",C."RealNumber",B."Declaration",B."GoodsCertificationID",C."DateTimeEnd" FROM _NK_GoodsCertification B LEFT OUTER JOIN _NK_Certification C ON C."CertificationID"=B."CertificationID" LEFT OUTER JOIN _NK_Country A ON A."CountryID"=B."CountryID" WHERE CertificationID=? ORDER BY A."CountryName" Return Code : SQL_ERROR
ERROR: [Microsoft][ODBC SQL Server Driver][SQL Server]Ambiguous column name 'CertificationID'. [42000]
13521864 Close cursor